作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试学习 JavaScript,但我正在为一个非常简单的示例而苦苦挣扎。
我有一个表单,我想在每次用户点击提交时将其内容添加到“目录”中的新表行。
但是当我使用下面的代码点击提交时,我看到新表格行短暂闪烁然后消失,就好像页面正在重置一样。
当我改用注释掉的代码时(只是将表单内容附加到 body.innerHTML),它工作正常。
我做错了什么?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4 /loose.dtd">
<html>
<head>
<title>Javascript test</title>
</head>
<script type="text/javascript">
function addItem() {
var itemName = document.getElementById('item_name').value;
var itemPrice = document.getElementById('item_price').value;
var newRow = document.createElement('tr');
//var body = document.getElementById('body');
//body.innerHTML += itemName;
newRow.innerHTML = "<td>" + itemName + "</td><td>" + itemPrice + "</td>";
var catalog = document.getElementById('catalog');
catalog.appendChild(newRow);
}
</script>
<body id="body">
<form><h2>Add an Item to the Catalog</h2>
<p>Item Name: <input type="text" id="item_name" value="" /> Price: <input type="text" id="item_price" value="" /></p>
<input type="submit" onClick="addItem()" value="Add" id="submit" />
<input type="reset" id="reset" />
</form>
<table id="catalog"></table>
</body>
</html>
最佳答案
“提交”的输入类型将在执行您的 JavaScript 后提交表单。
如果您将输入类型更改为“按钮”,您将看到您的代码正常工作。
<input type="button" onClick="addItem()" value="Add" id="submit" />
这也称为“回发”,涉及获取表单输入字段中的数据,并将其再次发布到页面。发布到页面的数据可以从服务器端代码中获取,作为进一步操作的基础。
否则,您的代码没问题。我唯一的建议是以与构建 tr
s
td
s
关于javascript - 如何在不立即重置的情况下向 Javascript 中的表添加一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6642928/
我是一名优秀的程序员,十分优秀!