2013-02-11 71 views
1

提交从我的理解,一旦表单被提交,则无法通过添加额外的输入参数添加到它(至少这[link]是什么给了我这样的假设)添加URL参数从

例如:

var form = $('form'); 
form.submit(function(e) { 
searchForm.append(
    '<input name="a" type="hidden" value="' + a + '">' + 
    '<input name="b" type="hidden" value="' + b + '">'); 
} 

所以我的下一个猜测将是通过位置动态添加参数。我跟着this的代码,但刷新页面,只适用于添加一个参数,并获取我的原始输入的形式。这不起作用。

也许我想要做的是不可能与一个get,但只有一个职位。我不想使用帖子。但为了清除事情,作为用户搜索位置,当用户提交搜索时,jquery会干涉submit(),并查看地址以查找经纬度。如果存在lat和lng,我想通过get将经纬度和lng与搜索到的地址一起传递到下一页。

例子:

website.com/path?search=NC&a=35.38905&b=-78.486328 

回答

1

试试这个(工作在一个GET,不尝试了POST)

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#fx").submit(function(event){ 
    // event.preventDefault(); 
    var newitem = document.createElement("input"); 
     newitem.name = "addedItem"; 
     newitem.type = "text"; 
     newitem.value = "As if by magic"; 
     $("#fx").append(newitem); 

    }); 
}); 
</script> 

<form id="fx" name="fx"> 
    <input type="text" name="bob"> 
    <input type="submit"> 
</form> 
+0

你举的例子是一样的我的附加代码。不幸的是,我觉得尝试并没有什么坏处,但这不起作用。 – 2013-02-11 23:48:43

+0

在Chrome中这工作正常,它将新的值对添加到窗体。问题是一个浏览器特定的问题(我会看看其他人) – Offbeatmammal 2013-02-12 03:14:10

+0

更新:只是在IE,Safari和Chrome中尝试了相同的代码,并且很好地为请求添加了新值......什么浏览器对您来说不合适? – Offbeatmammal 2013-02-12 03:20:55