Javascript document.getElementById.innerHTML工作不正常?
我过去一直在用这个,没有任何问题。这次我似乎想不出是怎么回事;也许我只需要第二双眼睛 这是我的HTML代码:Javascript document.getElementById.innerHTML工作不正常?,javascript,html,innerhtml,Javascript,Html,Innerhtml,我过去一直在用这个,没有任何问题。这次我似乎想不出是怎么回事;也许我只需要第二双眼睛 这是我的HTML代码: <form id="myForm"> <table> <tr> <th>Product</th> <th>Price</th> </tr> <tr> &l
<form id="myForm">
<table>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
<tr>
<td>2014 HK Army Hardline Paintball Jersey</td>
<td>$89.95</td>
</tr>
<tr>
<td>Planet Eclipse 2013 Distortion Gloves</td>
<td>$34.95</td>
</tr>
<tr>
<td>Eclipse Geo 3.5 Paintball Marker</td>
<td>$1,600.00</td>
</tr>
</table>
<p>How many Paintball Jerseys would you like to order?</p>
<input id="jersey" type="number" value="0">
<p>How many Paintball Gloves would you like to order?</p>
<input id="gloves" type="number" value="0">
<p>How many Paintball Markers would you like to order?</p>
<input id="marker" type="number" value="0"><br>
<input type="button" onclick="submit()" value="Submit Form">
<input type="button" onclick="reset()" value="Reset Form"><br>
<p id="result"> </p>
</form>
显然,我用“嗨”作为测试。当我打开网站时,它不会显示光标在p id=“result”中的位置。如有任何建议,我们将不胜感激
编辑:我知道上面写的是
document.getElementById(“结果”)。内部Text=“嗨”代码>,但我也用.innerHTML
尝试过,但仍然没有任何结果。您看到这个问题是因为您使用的是内联事件处理程序
长话短说:您根本没有调用submit
函数
DOM元素的方法在内联事件处理程序的范围内。因此,在事件处理程序中,submit
不是指用户定义的函数,而是指并调用myForm.submit
,从而提交表单
通过与document.getElementById('myForm')进行比较,您可以很容易地对此进行测试。提交(检查控制台)
函数提交(){
//不管这里有什么
}
试试这个
将函数名更改为“其他”,然后提交,例如submit2():
产品
价格
2014香港陆军强硬派彩弹运动衫
$89.95
2013年日食
$34.95
Eclipse Geo 3.5彩弹标记
$1,600.00
您想订多少件彩弹运动衫
您想订多少漆弹手套
您想订多少个彩弹笔
函数submit2(){
document.getElementById(“结果”).innerHTML=“hi”;
}
我希望这对您有所帮助。您在哪些浏览器中测试它?请在您的问题中包含实际的代码,不要链接到您代码的图像。我过去在Chrome上使用过它,现在再次使用Chrome。很抱歉,Felix,它不允许我嵌入图像,因为我缺乏声誉。我会解决的。谢谢你的更新。谢谢,菲利克斯!成功了。很高兴知道这是我缺乏经验,而不是我错过的错误。我完全理解你的意思,你解释的方式。@布赖恩:不客气!内联事件处理程序很棘手。避免它们的原因之一是:)
function submit() {
document.getElementById("result").innerText = "hi";
}
<form id="myForm">
<table>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
<tr>
<td>2014 HK Army Hardline Paintball Jersey</td>
<td>$89.95</td>
</tr>
<tr>
<td>Planet Eclipse 2013 Distortion Gloves</td>
<td>$34.95</td>
</tr>
<tr>
<td>Eclipse Geo 3.5 Paintball Marker</td>
<td>$1,600.00</td>
</tr>
</table>
<p>How many Paintball Jerseys would you like to order?</p>
<input id="jersey" type="number" value="0">
<p>How many Paintball Gloves would you like to order?</p>
<input id="gloves" type="number" value="0">
<p>How many Paintball Markers would you like to order?</p>
<input id="marker" type="number" value="0"><br>
<input type="button" onclick="submit2()" value="Submit Form">
<input type="button" onclick="reset()" value="Reset Form"><br>
<p id="result"> </p>
</form>
<script type="text/javascript">
function submit2(){
document.getElementById("result").innerHTML = "hi";
}
</script>