Bri*_*ian 3 html javascript innerhtml
我过去一直使用它,没有任何问题。这次我似乎无法弄清楚出了什么问题;也许我只需要第二双眼睛。
这是我的 HTML 代码:
<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>
Run Code Online (Sandbox Code Playgroud)
还有我的 JavaScript 代码:
function submit() {
document.getElementById("result").innerText = "hi";
}
Run Code Online (Sandbox Code Playgroud)
显然我用“嗨”作为测试。当我打开网站时,它没有显示我的光标在 p id="result" 中的位置。任何建议表示赞赏。
编辑:我知道它说,但我也尝试过,但仍然没有。document.getElementById("result").innerText = "hi";.innerHTML
您看到此问题是因为您使用的是内联事件处理程序。内联事件处理程序的范围有点棘手。
长话短说:你根本没有调用你的submit函数。
<form>DOM 元素的方法在内联事件处理程序的范围内。因此,在事件处理程序中,submit不是指您的用户定义函数,而是指并调用myForm.submit,从而提交表单。
您可以通过与document.getElementById('myForm').submit(检查控制台)进行比较来轻松测试。
function submit() {
// doesn't matter what's here
}Run Code Online (Sandbox Code Playgroud)
<form id="myForm">
<input type="button" onclick="console.log('DOM element submit', submit === document.getElementById('myForm').submit);" value="Click me!">
</form>Run Code Online (Sandbox Code Playgroud)
您可以通过重命名函数或不使用内联 事件处理程序来解决该问题。
| 归档时间: |
|
| 查看次数: |
2395 次 |
| 最近记录: |