2014-04-09 68 views
2

我讨厌来这里看似简单的问题来解决,但我很难过,并尝试了多种解决方案。Javascript innerHTML更改不起作用

我有一个复选框,所以点击时他们将运行一个函数,将改变购物车的总价格,但我甚至不能在文本框中获得一个简单的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> 

正如你所看到的元素都被加载到DOM的JavaScript运行之前。

JS:

function price_calc(price, chkbx) { 

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

} 

感谢您事先的任何提示。

回答

4

“总” 是一个field.So,尝试document.getElementById('total').value

innerHTML的是对非现场元素,如跨度,DIV等。

4

要设置input[type=text]值,可以使用.valueinnerHTML

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

试试这个:

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