2014-03-12 60 views
0

我試圖從產品表中獲取文本,以便將它們放到購物車中,並在稍後的日期將它們放入數據庫中。我還希望爲用戶顯示一個確認警告框在寫入數據庫表之前進行確認。然而即時通訊無法獲取Java腳本來閱讀我的HTML,因爲我只需要閱讀已選擇下拉列表的字段。使用html表單獲取值的javascript

任何幫助或指導將是偉大的!

<script type="text/javascript"> 
     function myFunction() 
     { 
alert(document.getElementById("musicStore").rows[0,1,2,3,4].cells.namedItem(number1,+   "price",+ "album",+ "type").innerHTML); 
} 
</script> 

<form name= "musicStore" Action="" Method="get"> 
<tr> 
    <th>Artist</td> 
    <th>Title</td> 
    <th>Duration</td> 
    <th>Price</td> 
    <th>Album</td> 
    <th>Format</td> 
</tr> 
<tr> 
    <td>Rocking eddie</td> 
    <td>Song never leaves</td> 
    <td>04:34</td> 
    <td id="price" value="8.99">£8.99</td> 
    <td id="album" value="freshprince">Fresh Prince</td> 
    <td><select name="format" id="type"> 
    <option value=""></option> 
    <option value="cd">CD</option> 
    <option value="digital">Download</option> 
    </select> 
    </td> 
</tr> 
    <tr> 
    <td>Rocking eddie</td> 
    <td>Go Home</td> 
    <td>06:24</td> 
    <td id="price" value="10.99">£10.99</td> 
    <td id="album" value="Coffee">Coffee</td> 
    <td><select name="format" id="type"> 
    <option value=""></option> 
    <option value="cd">CD</option> 
    <option value="digital">Download</option> 
    </select> 
    </td> 
</tr> 

<div style ="float: right";> 
<button onclick="myFunction()">Add to Cart</button> 
</div> 
</form> 

回答

0

幾個問題:

  1. 你有相同ID的多個元素。例如,你有2個id ='type'的元素。身份證號碼應該是獨一無二的,如果有重複,它將無法正常工作。 使用類,而不是:

    <td class="price" value="8.99">£8.99</td> 
    
  2. 你的JavaScript代碼不通過適當的去循環。

  3. 您不能在所有實例中使用innerHTML,因爲'type'是選擇列表。您必須獲取該元素的,而不是innerHTML。

這裏是一個JSFiddle的工作代碼。

0

我會改變第2本:<select name="format" id="type2">

不同的東西。

我覺得你那麼想:

document.querySelector('#type').value 
document.querySelector('#type2').value 
相關問題