2017-09-09 31 views
-1

我正在構建一個管理系統,管理員可以從中選擇數據庫表中的項目並更新詳細信息。爲了達到這個目的,我在兩頁上有兩種形式。第一種形式是從表中選擇項目並將其ID傳遞到第二頁,我將使用該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 第二頁

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

你有兩個頁面和兩個表單,你寫道:「我想用javascript來做這個,所以它不會刷新頁面。」這裏缺少一些東西。有了這個你不能避免頁面重新加載/張貼,它會發布「選擇」。你可以使用cookies或window.localStorage記住設置或使用查詢參數將它傳遞到下一頁(醜陋),如:?option = 2其實,我認爲你不需要兩頁來完成這麼簡單的任務。 – Codebeat

回答

0

如果您不更改表單之間的頁面,您應該可以在存儲必要數據的客戶端創建一個變量。由於第二種形式加載到相同的環境中,因此您從第一種形式獲得的任何變量仍然存在。

從你的例子中,我猜測聊天是你試圖在第二種形式中使用的數據。現在它是本地的點擊功能(一旦該功能完成變量消失)。您可以將該變量的聲明移至全局範圍(document.ready之外),也可以在成功回調中按照預期使用它。 (從你的例子,目前還不清楚你試圖用這個數據做)

+0

此數據是表格中項目的ID。我將在第二頁上使用它來獲取表中具有類似ID的項目,查看它,更新併發送回數據庫。我的問題是,它沒有被傳遞到第二頁 – Oponjous

0

您可以添加一個隱藏字段,併發送此輸入回您的服務器:

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

然後通過訪問它:

$_SERVER['id'] 
+0

感謝Advocat,但我想用JavaScript做到這一點,所以它不會刷新頁面。 – Oponjous

相關問題