0

我有这个脚本。

<form method="get">
  <select name="report" onchange="this.form.submit()">
    <option value="data1">data1</option>
    <option value="data2">data2</option>
  </select>
</form>

我想传递选定的值并将该值添加到当前 url(见下面的 url)。

test.php?link=partners&projectid=value&clientid=value

像这样的东西;

 test.php?link=partners&projectid=value&clientid=value&type=data1
4

3 回答 3

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

于 2013-05-10T06:31:16.777 回答
1

URL 中的参数仅由表单字段构成。因此,根据您的要求,您可以为代码添加hidden字段projectIdclientId除了代码之外,还可以添加服务器端代码以设置该字段的值(如果动态检索),剩下的就可以正常工作了。

于 2013-05-10T06:45:54.413 回答
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()">

最好将其他值放在隐藏字段中。

于 2013-05-10T06:31:41.593 回答