如何使用javascript将输入文本值传递到另一个页面

时间:2017-09-09 17:42:15

标签: javascript php html

我正在构建一个管理系统,管理员可以从中选择数据库表中的项目并更新详细信息。为实现这一点,我在两页上有两种形式。第一种形式是从表中选择项目并将其传递给第二页,我将使用该ID从表中使用php获取详细信息。我想用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-->

2 个答案:

答案 0 :(得分:0)

如果您不更改表单之间的页面,您应该能够在客户端创建一个存储必要数据的变量。由于第二个表单加载到同一个环境中,因此第一个表单中的任何变量仍然存在。

从您的示例中,我猜测聊天是您尝试在第二种形式中使用的数据。现在它是click函数的本地(一旦该函数完成变量消失)。您可以将该变量的声明移动到全局范围(在document.ready之外),或者在成功回调中按预期使用它。 (从您的示例中不清楚您要对此数据执行的操作)

答案 1 :(得分:0)

您可以添加隐藏字段并将此输入发送回服务器:

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

然后通过via:

访问它
 $_SERVER['id']