我想将用户在表单字段中输入的值从名为“productDetail”的页面传递到名为“gmap-3”的页面中的表单字段。
现在通常情况下,如果两个字段都在同一页面上,我只会执行以下操作:
$('#productDetail').live("pagecreate", function() {
$('#submitPost').tap(function() {
if ($('#postalFrom').val()== "" || null) {
var postalCode = $('#postalFrom').val();
alert("Enter postal code first.");
} else {
$('#from').val(postalCode);
}
});
});
但是考虑到表单字段“('#from')”在页面“g-map3”而不是“productDetails”,我该如何实现呢?
提前致谢!
答案 0 :(得分:2)
从一个页面转到另一个页面时,使用url传递值,例如
http://example.com?postalCode=11204&fname=john&lname=doe
然后使用location.search解析网址。
之类的东西var params = location.search.substring(1,location.search.length).split("&");
for (var i = 0; i < params.length; i++)
{
var field = params[i].split("=")[0];
var value = params[i].split("=")[1];
// process
}
修改
忘了摆脱“?” :P因此子串(1,location.search.length)
答案 1 :(得分:1)
将您的第一个表单作为GET提交,以便变量出现在查询字符串中。然后在第二个表单上,您可以简单地解析查询字符串以获取您的值。
document.location.search
将包含您的'foo = 1&amp; bar = 2'字符串
从那里你可以使用split()
将其转换为数组:
var q = document.location.search.split('=');
现在您拥有了查询字符串参数数组,并且在第2页上获取填充表单所需的数据非常简单。