【发布时间】:2014-03-29 02:47:12
【问题描述】:
我有这段代码,单击“获取更多字段”按钮将创建整个 div 的副本并创建字段。但是在单击按钮时没有任何反应。所有其他按钮工作正常。不知道我做错了什么。 提前感谢您的帮助。
<html>
<head>
</head>
<body>
<div id="readroot" style="display: none">
<input type="button" value="Remove review"
onclick="this.parentNode.parentNode.removeChild(this.parentNode);" /><br /><br />
<input name="cd" value="title" />
<select name="rankingsel">
<option>Rating</option>
<option value="excellent">Excellent</option>
<option value="good">Good</option>
<option value="ok">OK</option>
<option value="poor">Poor</option>
<option value="bad">Bad</option>
</select><br /><br />
<textarea rows="5" cols="20" name="review">Short review</textarea>
<br />Radio buttons included to test them in Explorer:<br />
<input type="radio" name="something" value="test1" />Test 1<br />
<input type="radio" name="something" value="test2" />Test 2
</div>
<form method="post" action="index1.php">
<span id="writeroot"></span>
<input type="button" id="moreFields" value="Give me more fields!" />
<input type="submit" value="Send form" />
</form>
</body>
</html>
<script>
var counter = 0;
function moreFields() {
counter++;
var newFields = document.getElementById('readroot').cloneNode(true);
newFields.id = '';
newFields.style.display = 'block';
var newField = newFields.childNodes;
for (var i=0;i<newField.length;i++) {
var theName = newField[i].name
if (theName)
newField[i].name = theName + counter;
}
var insertHere = document.getElementById('writeroot');
insertHere.parentNode.insertBefore(newFields,insertHere);
}
window.onload = moreFields;
</script>
【问题讨论】:
-
在 chrome 中打开它,右键单击页面上的任意位置 -> 检查元素并检查打开面板的右下角是否有红色
x并单击它。有什么错误吗?如果是这样,请在此处分享这些错误 -
之前检查过错误。没有错误显示
-
把你的脚本标签放在正文标签里面
-
该按钮中没有定义 onclick 方法,就像 Sajith 在他的回答中所说的那样
-
我之前也尝试过 onclick() 函数,但它仍然无法正常工作。
标签: javascript php jquery html