我有这个脚本。
<form method="get">
<select name="report" onchange="this.form.submit()">
<option value="data1">data1</option>
<option value="data2">data2</option>
</select>
</form>
我想传递所选值并将值添加到当前网址(请参阅下面的网址)。
test.php?link=partners&projectid=value&clientid=value
像这样的东西;
test.php?link=partners&projectid=value&clientid=value&type=data1
答案 0 :(得分:1)
像这样更改form
:
<form method="get" action="test.php">
<select name="report" onchange="this.form.submit()">
<option value="data1">data1</option>
<option value="data2">data2</option>
</select>
<input type="hidden" name="link" value="partners">
<input type="hidden" name="projectid" value="value">
<input type="hidden" name="clientid" value="value">
</form>
您必须使用hidden
类型输入表单字段。
注意:您可能需要将name
select
标记从报告更改为类型,如问题中所述。
答案 1 :(得分:1)
URL中的参数仅从表单字段构造。因此,根据您的要求,除了代码之外,您还可以为hidden
和projectId
添加clientId
字段,添加服务器端代码以设置此字段的值(如果是动态检索的话),
这就是其余的工作正常。
答案 2 :(得分:0)
您可能想要创建一个javascript函数来处理这个问题,接近以下内容:
<script type="text/javascript">
function somefunction() {
var xmlhttp;
var data1 = document.forms.frm1.report.value;
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else { // code for IE6, IE5
xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
}
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
// do something
}
};
xmlhttp.open('GET', 'test.php?link=partners&projectid=value&clientid=value&type=' + data1, true);
xmlhttp.send();
}
</script>
然后将您的选择更改为以下内容:
<select name="report" onchange="somefunction()">
最好将其他值放在隐藏字段中。