JavaScript 函数未运行

标签 javascript button onclick

这似乎很简单:我有这个带有 Javascript 代码的表单。 “-”按钮删除输入集,“+”按钮(位于代码底部)应该添加一个输入集,但它不起作用? 该脚本最初来自 http://www.quirksmode.org/dom/domform.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
 "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Formular</title>

<script type="text/javascript">
<!--
function init() {
document.getElementById('moreFields').onclick = moreFields;
moreFields();
}
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>
</head>
<body>
<a href="/">Home</a> | <a href="/new/">Neue Regel</a><br><hr><br>
<div id="readroot" style="display: none">
<p>Adresse: <input name="c_adddress" type="text">
Value: <input name="c_value" type="text">
<input type="button" value=" - " onclick="this.parentNode.parentNode.removeChild(this.parentNode);" /></p></div>
<form action="/save/">
<p>Name:<input name="name" type="text"></p>
<p><b>Befehl:</b><br>
<p>Adresse: <input name="b_adddress" type="text"> 
Value: <input name="b_value" type="text"></p>
<p><b>Bedingungen</b></p>
<span id="writeroot"></span>
<input type="button"id="moreFields" value=" + " />
<p><input type="submit" value="speichern">
<input type="reset" value="zur&uuml;cksetzen"></p>
</form>
</body>
</html>

最佳答案

未为您的 moreFields 按钮注册 onclick 事件。并且您还没有在任何地方调用 init 函数。

更改以下行:

document.getElementById('moreFields').onclick = moreFields; // Notice no ()
...
window.onload = init; // This will make sure the above code is run after the DOM is loaded

关于JavaScript 函数未运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20977164/

相关文章:

javascript - document.getElementsByClassName 上的 onclick 事件同时应用于所有元素

c# - ComboBox.MaxDopDownItems 在使用 Click 事件添加项目时不起作用

php - onclick ="$.post(this.href); return false;"无法正常工作

javascript - Angular JS : Update a directive when the value changes

javascript - 如果有办法做 background-size : cover and still be able to scroll around the image

java - 按钮未在第一次单击时调用 OnClickListener

android - 防止按钮在 Android 上隐藏软键盘

具有两个条件的 C# FindElement(By...)

javascript - "Error: Route.get() requires a callback function but got a [object Undefined]"进行多次导出时

javascript - 将视频背景与页面背景相匹配