我讨厌带着什么似乎是一个简单的问题来解决,但是我很难过,并尝试了多种解决方案。
我有一个复选框,因此当点击它们时,它们将运行一个将改变购物车总价格的功能,但是我甚至无法在文本框上进行简单的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);
}
提前感谢您的任何提示。
答案 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);