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

nameselect 要素で属性を「年」に設定するだけで、意図した結果が得られます。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 に答える