我想讓我的代碼讀取基於選定列表中選定項目的值,但它表示它未定義。當我簡單地給函數一個值並告訴它返回值時,它會讀取,但不會從表單中獲取值。Javascript不會從「select」中讀取表格
以下是我使用
的形式(HTML)代碼:
<form action="" id="orderForm" name="orderForm" onsubmit="return false;">
<select id="item" name='item' onchange="calculateCost()">
<option value="None">Select Item</option>
<option value="Candlestick">Candlestick ($10)</option>
<option value="Bowl">Bowl ($10)</option>
<option value="Burl_Bowl">Burl Bowl ($20)</option>
<option value="Clock">Clock ($15)</option>
<option value="Vase">Vase ($5)</option>
<option value="Pen">Pen ($2)</option>
<option value="Top">Spinning Top ($1)</option>
</select>
<div id="totalPrice">hallo</div>
</form>
和JavaScript讀取
function calculateCost()
{
var orderPrice = getItemPrice();
document.getElementById('totalPrice').innerHTML = orderPrice;
}
var item_prices= new Array();
item_prices["None"]=0;
item_prices["Candlestick"]=10;
item_prices["Bowl"]=10;
item_prices["Burl_Bowl"]=20;
item_prices["Clock"]=15;
item_prices["Vase"]=5;
item_prices["Pen"]=2;
item_prices["Top"]=1;
function getItemPrice()
{
var itemPrice = 0;
var theForm = document.forms["orderForm"];
var selectedItem = theForm.elements["item"];
itemPrice = item_prices[selectedItem.value];
return itemPrice;
}
請勿將數組與非數字鍵一起使用。如果你想用它作爲一個對象,使用一個對象:'var item_prices = {None:0,Candlestick:1,...}'。 –
我試圖改變儘可能少的東西,以免混淆他......但是,對象會更好。 –
對不起,我沒有意識到OP實際上使用了那個。儘管如此,如果你提供了一個答案,做對了:) –