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>