在表单提交时向URL动态添加GET参数


Dynamically adding GET parameter to URL on form submit

我有一个PHP应用程序中的简单表单,我必须通过POST方法提交。比如:

<form action="URL?page_id=10" method="POST">
    <select name="some_name" id="some_id">
        <option value='1'>...</option>
        <option value='2'>...</option>
        ...
    </select>
    ...
    //submit button here
</form>
目标是在提交时转到以下URL:
URL?page_id=10&selected_id=SELECTED_ID

,其中SELECTED_ID是用户从表单中的选择下拉菜单中选择的值。我通过转换整个表单来发布参数作为GET,因为我需要在URL中看到这个SELECTED_ID。然而,另一个要求出现了,我需要通过POST传递所有内容,并且仍然在URL中可见SELECTED_ID,现在我正在寻找替代方案。

所以问题归结为:我如何在POST表单提交时与表单提交的值之一动态添加另一个GET参数到URL ?

首先你必须添加一个id到你的表单,如下所示

<form id='form1' action="URL?page_id=10" method="POST">

然后在你的按钮上添加调用下面的功能,点击

 function test(){
    $('#form1').attr('action', $(this).attr('formaction')+'&selected_id='+$('#some_id').val());
    }

使用<form method="GET"> ..所有字段值将自动附加到url