2014-05-15 27 views
3

我想提交表單的值。除<select>領域的其他
但所有的值不提交,因爲我覺得它裏面的div元素顯示在下面的代碼提交<select>字段裏面div格式的值

<form action="next.php" method="post"> 
    <input>.... 
    <input>.... 
    <input>.... 
    <select name="asdf"> <!--This field submitted successfully --> 
     <option value="wtevr"> </option> 
     <option value="wtevr2"> </option>.......... 
    </select> 
    <div> 
     <select name="asdf2"> <!--problem is here submitting this field --> 
      <option value="wtevr11"> </option> 
      <option value="wtevr22"> </option>.......... 
     </select> 
    </div> 
</form> 

我用div,因爲這是經過我在更新值的我的Ajax代碼部分選擇字段。

有沒有其他解決方案提交此select字段格式?

我的方法:

我認爲有一個解決方案,如果我以這種形式,其價值得到等於選擇字段的值提交表單前使用hiddeninput場。

<input type="hidden" value="<!--comes from JavaScript code -->"> 

我是新來的JavaScript所以任何幫助表示讚賞..

+1

'values(...)are submitted'' - 你確定嗎?我們可以從next.php中看到你的'$ _POST'數組(使用'print_r($ _ POST)') – Gwenc37

+0

同時顯示你用來設置select中值的javascript位。謝謝。 – ndugger

+0

表單是否正常提交,或者您是否嘗試ajax提交? – Steve

回答

0

使用您輸入的「名稱」標籤,然後他們將被提交。 這樣的:

<form action="next.php" method="post"> 
<input name="foo" value="var"/> 
</form> 
+0

他特別詢問第二個選擇字段,它具有名稱屬性。 –

1

你可以使用:

<select name="asdf2" id="asdf2" onchange="setField();"> 
      <option value="this">this</option> 
      <option value="that">that</option> 
     </select> 
     <input type="hidden" id="hiddenField" value="nothingYet"> 
<script type="text/JavaScript" language="JavaScript"> 
function setField() { 
      toWhat = document.getElementById("asdf2").value 
      document.getElementById("hiddenField").value = toWhat; 
     } 
</script> 

在任何情況下。如果你所做的只是提交表單,那麼這個值實際上沒有理由被忽略。你如何檢索值?

+0

感謝您的替代答案,但已經修復了錯誤 – Anonymous

+0

好吧,現在您知道了一個新的JS技巧,您可以繼續使用。當你不使用jQuerry時,我想你會發現這樣的東西非常常見。 – durbnpoisn