2013-02-19 32 views
0

我想在所选值改变时提交表单,并添加查询字符串参数。它只能提交,但参数丢失。例如,提交的时候,我想的形式SUMIT到这个网址:通过JQuery提交表单后缺少查询字符串参数

http://www.a.com/myblog?year=2012

但以下链接实际上是提交的,以参数丢失:

http://www.a.com/myblog

它的工作原理,如果我更改为提交给google.com。

有什么想法?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#newsArchiveDropDown').change(function() { 
      var selectValue = $(this).val(); 
      var form = $('#newsArchiveForm'); 
      form.attr('action', form.attr('action') + '?year=' + selectValue);     
      form.submit(); 
     }); 
    }); 
</script> 

<form id="newsArchiveForm" method="GET" action="http://www.a.com/myblog" novalidate="novalidate"> 
        <select id="newsArchiveDropDown" name=""> 
          <option value="2012" class="">2012</option>           
          <option value="2011" class="">2011</option>           

        </select> 
       </form> 
+0

表单使用GET,这可能覆盖任何 “使用说明书” 查询字符串参数。你有没有机会找POST? – bfavaretto 2013-02-19 18:41:23

回答

0

只需在您的select元素上设置name属性为“year”即可生成预期结果。 jQuery也变得更简单了。

$(document).ready(function() { 
    $('#newsArchiveDropDown').change(function() { 
     $('#newsArchiveForm').submit(); 
    }); 
}); 


<form id="newsArchiveForm" method="GET" action="http://www.a.com/myblog" novalidate="novalidate"> 
    <select id="newsArchiveDropDown" name="year"> 
      <option value="2012" class="">2012</option> 
      <option value="2011" class="">2011</option> 
    </select> 
</form> 
+0

谢谢!有用。我想知道你是否知道我为什么不工作。 – Pingpong 2013-02-19 21:14:19

+0

恐怕我也有点难过。 – 2013-02-20 10:17:46

相关问题