我总共有两个输入值。只有一个值传递到下一页的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-->
答案 0 :(得分:2)
html中有两个具有相同ID的元素。因此,当您执行此操作$('#search_id').val()
时,只会评估其中一个而不是两者。 Ids应该是唯一的
答案 1 :(得分:0)
在测试页面中测试代码后,我发现两个输入实际上都是通过URL传递的。 您已经注释掉了表单标签,我不确定您是否只是出于此目的。
kjs也是正确的,但使用相同的id只会影响HTML。使用get作为方法可以绕过这个问题,因为它将传递唯一的&#34; name&#34;属性。
答案 2 :(得分:0)
如果您希望html提交机制能够独立运行,则需要表单标记。
在你发布的Javascript中,你将document.location视为一个html元素,用jquery包装它,然后尝试使用jquery的attr方法。这不行。只需直接访问“location.href”而不使用jquery。
此外,正如另一个答案所指出的,您的ID应该都是唯一的。