2017-09-09 20 views
-1

管理者がデータベーステーブルから項目を選択して詳細を更新できる管理システムを構築しています。これを達成するために2ページに2つの書式があります。最初のフォームは、テーブルからアイテムを選択し、IDを2番目のページに渡します。ここで、IDを使用して、phpを使用してテーブルから詳細を取得します。私はjavascriptでこれをしたいので、ページを更新しません。私の質問は、この値をどのように渡すかです。私は次のコードを使用していますが、動作していません。JavaScriptを使用して入力テキスト値を別のページに渡す方法

HTML

<div id="result"></div> 
<form action="update_item.php" id="update" method="post" >   
<select name="selected" class="form-control" id="myItem" required> 
     <option>Select item</option> 
      <?php 
      <!-- PHP script to select the item --> 
      ?> 
</select>       
<button id="submit">Select</button>       
</form> 

JAVASCRIPT

$(document).ready(function() { 
    $("#submit").click(function() { 
     var chat = $('#myItem').val(); 

     if(chat=='') 
     { 
     alert("Please select an item!"); 
     } 
     else{ 
      $.ajax({ 
       type: "POST", 
       url:"update_item.php", 
       data:{ 
        data:chat, 
       }, 
       success: function (msg) { 
        //alert(msg): 
        $('#result').html(msg); 
       }, 
       error: function(){ 
        alert('error'); 
       } 
      }); 
     } 
    }); 
}); 

PHP 2ページ目

$item_id = $_POST['data']; 
$get_item = "select * from items where item_id='$item_id'"; 
<--PHP script continues--> 
+0

あなたは2つのページと2つのフォームがあります。「javascriptでこれを行いたいので、ページを更新しません」ここに何かがありません。これにより、ページのリロード/ポストを回避することはできません。「選択済み」と表示されます。 Cookieやwindow.localStorageを使って設定を思い出したり、クエリパラメータを使って次のページ(醜い)に渡すことができます:?option = 2実際には、このような簡単な作業のために2ページは必要ないと思います。 – Codebeat

答えて

0

フォーム間でページを変更しない場合は、クライアント側で必要なデータを格納する変数を作成するだけで済みます。 2番目のフォームが同じ環境にロードされているため、最初のフォームの変数はそのまま存在します。

あなたの例では、チャットは2番目のフォームで使用しようとしているデータだと思います。今はクリック機能のローカルです(変数が終了すると変数は消えます)。その変数の宣言をグローバルスコープ(document.readyの外)に移動するか、successコールバックの中で意図したとおりに使用します。

<input type="hidden" name="something" value="<?= $_SERVER['id'] ?>" /> 

そして経由でアクセス:

+0

このデータは、表内の項目​​のIDです。 2番目のページでそれを使用して、テーブルに似たIDを持つアイテムを取得し、表示し、更新してデータベースに戻します。私の問題は、それが2番目のページに渡されていないということです。 – Oponjous

0

あなたが隠しフィールドを追加し、サーバーに戻って、この入力を送信することができます(あなたの例から、あなたがこのデータをやろうとしているものは不明です):

+0

ありがとうございます。しかし、私はjavascriptでこれを行い、ページを更新しません。 – Oponjous

関連する問題