我在将事件附加到动态生成的按钮时遇到问题。然而经过一些research大多数解决方案声称此错误通常是由表单控件生成的。然而,就我而言,当按下我动态生成的按钮时,会生成并触发错误“名称='answer'的无效表单控件”:
$("#BoxInner").append($("<button id='dynamicButton' class='btn btn-success' onclick='clickEvent()'>"+ "Button"+"</button>"));
我已将一个按钮附加到现有 div 并调用 onclick 函数,该函数在单击该元素时删除该元素,如下所示:
function clickEvent()
{
$(this).remove();
}
在 Chrome 中运行此方法后,此方法仅适用于添加的第一个按钮。按预期删除第一个按钮后,它开始生成错误“clickEvent”,并在每次点击时添加计数,在阅读了此处有关错误归因于表单的许多帖子后,我仍然不确定如何解决按钮问题与我的 HTML 文档上的表单完全无关,随后将表单设置为不需要验证并不能解决“novalidate”属性的问题。但请注意,如果我删除附加的 onclick 事件,则不会触发错误。
如有任何帮助,我们将不胜感激:)
最佳答案
$("#BoxInner").append($("<button id='dynamicButton' class='btn btn-success' onclick='clickEvent(this)'>"+ "Button"+"</button>")); // pass this to clickEvent function
function clickEvent(obj)
{
$(obj).remove(); // remove button like this
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div id="BoxInner"></div>
关于javascript - 动态生成的按钮,名称为 ='answer' 的表单控件无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38373616/