2014-03-01 19 views
2

一旦我有幾個提交發送POST數據按鈕:

<form name="Master" form action="Master.php" method="post"> 
<table width="800" border="0"> 
    <tr> 
    <td><input name="Master" type="submit" value="Test1"/></td> 
    <td><input name="Master" type="submit" value="Test2"/></td> 
    </tr> 
</table> 
</form> 

現在我改變了主意,並希望使用下拉菜單:

<ul class="menu" id="menu"> 
    <li ><a href="" class="menulink">Home</a> 
    <li ><a href="" class="menulink">Main1</a> 
     <ul> 
      <li><a href="" class="sub">Test1</a> 
      <li><a href="" class="sub">Test2</a> 
     </ul> 
</li> 
</ul> 

CSS代碼(菜單,menulink,sub等)正確顯示這個菜單。

但我不想chage大大處理原始文章值的php文件。

所以我的問題是:

我可以派用場「方法後」這個下拉菜單裏面?怎麼樣?

Thanxs。

+0

您可以通過錨標記將GET數據發送到服務器,但POST不可能:( –

+1

爲什麼在第一個HTML示例中有一個'form'屬性? – rvighne

+3

您可以做同樣的事情 –

回答

0

爲了更好地保留鏈接的外觀和感覺,你需要使用JavaScript。你的第二個例子中,除去href屬性,包括這個腳本(未經測試):

var form = document.createElement('form'); 
form.action = "Master.php"; 
form.method = "post"; 

window.onload = function() { 
    var menu = document.getElementById('menu'); 
    menu.onclick = function(e) { 
     var link = e.target || e.srcElement; 
     if (link.tagName !== "A") return; 

     var input = document.createElement('input'); 
     input.name = "Master"; 
     input.value = link.textContent || link.innerText; 
     form.appendChild(input); 
     form.submit(); 
    }; 
}; 

或者,你可以換一個<form>你的第二個例子,改變錨的投入,像這樣:

<form name="Master" action="Master.php" method="post"> 
    <ul class="menu" id="menu"> 
     <li ><input name="Master" type="submit" value="Home" /> 
     <li ><input name="Master" type="submit" value="Main1" /> 
      <ul> 
       <li><input name="Master" type="submit" value="Test1" /> 
       <li><input name="Master" type="submit" value="Test2" /> 
      </ul> 
     </li> 
    </ul> 
</form> 

然後,在您的CSS中,使輸入看起來像鏈接。例如,刪除所有邊框,填充,邊距,背景顏色和文本顏色;並設置字體爲inherit。然後應用任何額外的樣式。

1

賈斯汀已經評論,只需添加一個表格到您的下拉菜單的,並提交它,就像你在代碼中沒有1

<form name="Master" action="Master.php" method="post"> 
<ul class="menu" id="menu"> 
     <ul> 
      <li><input name="test" type="submit" class="sub" value="test1"/> 
     </ul> 
</li> 
</ul> 
</form>