输入值未传递给URL

时间:2014-07-31 02:01:11

标签: javascript

我总共有两个输入值。只有一个值传递到下一页的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-->

3 个答案:

答案 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应该都是唯一的。

相关问题