2013-05-10 92 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字段,並添加服務器端代碼以設置此字段的值(如果它是動態檢索的), 多數民衆贊成其餘將正常工作。