我正在尝试将变量从模态表单传递到另一个页面。我在每个选择中使用id标签声明表单中的变量。
页面重新加载到test.php,但是没有变量可以回显。
的javascript
var id = $( "#id" ),
name = $( "#name" )
$.post("jqtest/test.php", { device_id: "id", device_name: "name" });
load('jqtest/test.php');
test.php的
echo $_POST['device_name'];
echo $_POST['device_id'];
答案 0 :(得分:0)
目前尚不清楚您打算如何使用此代码传递模态表单中的值,但当前代码存在一些问题:
;
缺失val()
从输入字段读取值,而不是获取它们的jquery对象尝试此操作以查看变量是否在回调函数中传递和回显
var id = $( "#id" ).val(),
name = $( "#name" ).val();
$.post("jqtest/test.php",
{ device_id: id, device_name: name },
function(data){
alert(data);
}
);
答案 1 :(得分:0)
看起来这有很多错误......看起来您正在使用echo $_POST['device_name'];
和echo $_POST['device_id'];
来确保您的AJAX正常运行。如果是这种情况,则无需使用.load();
。您还发送了$( "#id" )
和$( "#name" )
的jQuery对象,而不是这些表单元素中的值。稍后,在.post请求中,引号中包含相同的变量,即发送字符串“id”和“name”。再一次 - 可能不是你想要的。
你的问题有点令人费解,但我会尽力回答。试试这个JS:
var id = $("#id").val(),
name = $("#name").val();
$.post("jqtest/test.php", { device_id: id, device_name: name }, function(response) {
console.log(response);
});
在PHP文件中,使用以下代码:
echo $_POST['device_name'];
echo $_POST['device_id'];
您将看到您的变量显示在浏览器的JS控制台中。使用此脚本,您已通过POST将两个变量发送到test.php,test.php将回显结果。添加到$ .post请求的回调函数将在javascript控制台中显示test.php的输出。详细了解jQuery docs.
上的.$post()