我总共有两个输入值。只有一个值传递给下一页的url,但两个值都应该传递。这是什么原因造成的?
JSFiddle:http://jsfiddle.net/p8dCC/
HTML:
<!--form action="device" onSubmit=" get_search(); return false;" id="search-form-4" method="get" target="_top"-->
<div class="fix">Brand</div>
<input class="inputs" type="text" id="search_id" name="q3" placeholder="Send this" required="required" />
<br/><br/>
<div class="fix">Model</div>
<input class="inputs" type="text" id="search_id" name="q4" placeholder="And send this one too" required="required" />
<br/><br/>
<input id="search-button" class="" type="submit" value="continue" data-target="http://www.google.com/?item-description" />
<!--/form-->发布于 2014-07-31 10:05:01
在html中有两个具有相同id的元素。因此,当你这样做的时候,$('#search_id').val()只会计算其中的一个,而不是两个。Ids应该是唯一的
发布于 2014-07-31 10:12:48
在测试页面中测试代码后,我发现两个输入实际上都是通过URL传递的。你已经注释掉了表单标签,我不确定你是否只是为了在这里的目的。
kjs也是正确的,尽管使用相同的id只会影响HTML。使用get作为方法将绕过此问题,因为它将被传递唯一的"name“属性。
发布于 2014-07-31 10:17:33
如果您希望html提交机制能够自行正常工作,则需要表单标记。
在您发布的Javascript中,您将document.location视为一个html元素,用jquery对其进行包装,然后尝试对其使用jquery的attr方法。这行不通的。只需直接访问"location.href“,而不使用jquery。
此外,正如另一个答案所指出的,您的ids应该是唯一的。
https://stackoverflow.com/questions/25049699
复制相似问题