0

我想在所选值更改时提交表单,并添加查询字符串参数。只能提交,但参数丢失。比如提交的时候,我想把表单提交到这个url:

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

但是下面的url实际上是提交的,缺少参数:

http://www.example.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>
4

2 回答 2

0

只需name在您的选择元素上将属性设置为“年份”即可产生预期的结果。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>
于 2013-02-19T18:51:39.357 回答
0

如果未选择任何选项,则可能会出现此问题。确保在继续之前先选择一个选项。

于 2021-02-09T19:59:26.590 回答