2013-05-10 79 views
0

我有这个脚本。this.form.submit()将值传递给url

<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 

回答

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类型的输入表单字段。

注意:你可能在你的问题中提到,从报告改变select标签的name类型。

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()"> 

这将是最好放隐藏字段中的其他值。

1

URL中的参数仅从表单字段构造而成。因此,根据您的要求,除了您的代码之外,您还可以为projectIdclientId添加hidden字段,并添加服务器端代码以设置此字段的值(如果它是动态检索的), 多数民众赞成其余将正常工作。