Javascript innerHTML更改无法正常工作

时间:2014-04-09 11:56:43

标签: javascript html

我讨厌带着什么似乎是一个简单的问题来解决,但是我很难过,并尝试了多种解决方案。

我有一个复选框,因此当点击它们时,它们将运行一个将改变购物车总价格的功能,但是我甚至无法在文本框上进行简单的innerHTML更改,这将显示总价格。 onclick事件。

HTML / PHP:

<?php

....
....
echo "<span class='chosen'><input type='checkbox' name='event[]'
value='{$event['eventID']}' title='{$event['eventPrice']}'
onclick='price_calc(this.title, this)'/></span>"

?>

<div id="checkCost">
    <h2>Total cost</h2>
    Total <input type="text" name="total" id="total" size="10" readonly="readonly" />
</div>
....
....
<script src="bookingJS.js"></script>
</body>

正如您所看到的,在javascript运行之前,元素都已加载到DOM中。

JS:

function price_calc(price, chkbx) {

    document.getElementById('total').innerHTML = 'Hello';
    alert(document.getElementById('total').innerHTML);

}

提前感谢您的任何提示。

3 个答案:

答案 0 :(得分:4)

&#34;总&#34;是一个字段。所以,试试document.getElementById('total').value

innerHTML用于非字段元素,如span,div等。

答案 1 :(得分:4)

要设置input[type=text]值,请使用.value而不是innerHTML

function price_calc(price, chkbx) {
    document.getElementById('total').value = 'Hello';
    alert(document.getElementById('total').value);
}

答案 2 :(得分:0)

试试这个:

document.getElementById('total').value="Hello";
alert(document.getElementById('total').value);