2011-07-27 84 views
0

我很難將相同的值傳遞給兩個隱藏字段。因此,舉例來說,如果我選擇的產品1,我想這兩個隱藏字段有十將相同的值發送到兩個隱藏字段onchange

<select> 
<option value="X">Product 1</option> 
<option value="Y">Product 2</option> 
<option value="Z">Product 3</option> 
</select> 
<input id="test" name="product_id[]" type="hidden" value=""> 
<input id="test" name="product_id" type="hidden" value=""> 

我一直在使用的onchange方法試過的價值,但我只能傳遞一個值只隱藏的一個領域,而不是兩個。

以下是我嘗試過的,授予了我對兩個字段都使用相同的ID,但現在我認識到這兩個字段不起作用。

<form action="../index.php" method="post" >  
<div id="Select"> 
      <select id="myselect" onchange="this.form.prodhid.value=this.selectedIndex"> 
    <option>Please Select an Amount</option> 
      <option value="1">Product 1</option> 
      <option value="2">Product 2</option> 
      <option value="3">Product 3</option> 
    </select>  
    <input type="hidden" name="product_id[]" id="prodhid" value="" /> 
    <input type="hidden" name="product_id" id="prodhid" value="" /> 
<input value="Add to Cart" title="Add to Cart" type="submit"> 
</form> 
+1

我們可以看到你的價值傳遞給隱藏字段的代碼,即你的onChange方法? –

+0

當然,我更新了原始文章中的代碼 – Aaron

回答

0

您無法訪問具有相同ID的兩個DOM元素。所以,你可能您的標記更改爲類似這樣

<input id="test1" name="product_id[]" type="hidden" value=""> 
<input id="test2" name="product_id" type="hidden" value=""> 

或者你可以嘗試這樣的事:

<html> 
    <head> 
    <script type="text/javascript"> 
     function change() 
     { 
     var list = document.getElementById('test-group') 
          .getElementsByTagName('INPUT'); 
     for (var i = 0; i < list.length; ++i) 
      list[i].value = 'X'; 
     } 
    </script> 
    </head> 
    <body>  
    <select onchange="change()"> 
     <option value="X">Product 1</option> 
     <option value="Y">Product 2</option> 
     <option value="Z">Product 3</option> 
    </select> 
    <div id="test-group"> 
     <input name="product_id[]" type="hidden" value=""> 
     <input name="product_id" type="hidden" value=""> 
    </div> 
    </body> 
</html> 
+0

好吧,我試過但沒有運氣。 – Aaron

相關問題