Javascript 提交选择选项和当前页面url参数

Javascript 提交选择选项和当前页面url参数,javascript,jquery,forms,Javascript,Jquery,Forms,我有这样的网页:index.php/voting/?name=someName,它的表单带有选择选项: <form id="voting-form" method="GET" action="index.php/vote/"> <select name="company" id="company"> <option value="company1">company 1</option> <option

我有这样的网页:
index.php/voting/?name=someName
,它的表单带有选择选项:

 <form id="voting-form" method="GET" action="index.php/vote/">
    <select name="company" id="company">
        <option value="company1">company 1</option>
        <option value="company2">company 2</option>
        <option value="company3">company 3</option>
    </select>

    <input type="submit" value="Submit">
</form>

但当我点击提交按钮时,我被重定向到
index.php/vote/?company=company1
。因此,
名称
参数丢失

您可以使用类型
隐藏的
将其添加到表单
输入
,以将其添加到url参数

<input type="hidden" name="name" value"someName" id="nameInput">

或者
PHP
就像在@Globus示例中一样

表单post不关心您的javascript,而是做它喜欢做的事情。 您应该在表单中创建一个隐藏字段,将名称存储在GET参数中,以便表单提交也将此参数添加到URL中

将代码更改为:

 <form id="voting-form" method="GET" action="index.php/vote/">
    <select name="company" id="company">
        <option value="company1">company 1</option>
        <option value="company2">company 2</option>
        <option value="company3">company 3</option>
    </select>

    <input name="name" value=<?=$_GET['name']?> type="hidden" />

    <input type="submit" value="Submit">
</form>

第一公司
公司2
公司3
var url = new URL(window.location.href),
    name = url.searchParams.get("name");

document.getElementById('nameInput').value = name;
 <form id="voting-form" method="GET" action="index.php/vote/">
    <select name="company" id="company">
        <option value="company1">company 1</option>
        <option value="company2">company 2</option>
        <option value="company3">company 3</option>
    </select>

    <input name="name" value=<?=$_GET['name']?> type="hidden" />

    <input type="submit" value="Submit">
</form>