Javascript 动态生成的按钮,无效的表单控件,名称=';答案';
我在将事件附加到动态生成的按钮时遇到问题。然而,在一些大多数解决方案声明此错误通常是由表单控件生成的之后。但是,在我的情况下,当按下我动态生成的按钮时,会生成并触发错误“名为='answer'的表单控件无效”:Javascript 动态生成的按钮,无效的表单控件,名称=';答案';,javascript,jquery,html,forms,Javascript,Jquery,Html,Forms,我在将事件附加到动态生成的按钮时遇到问题。然而,在一些大多数解决方案声明此错误通常是由表单控件生成的之后。但是,在我的情况下,当按下我动态生成的按钮时,会生成并触发错误“名为='answer'的表单控件无效”: $("#BoxInner").append($("<button id='dynamicButton' class='btn btn-success' onclick='clickEvent()'>"+ "Button"+"</button>")); 在c
$("#BoxInner").append($("<button id='dynamicButton' class='btn btn-success' onclick='clickEvent()'>"+ "Button"+"</button>"));
在chrome中运行此功能后,此方法仅适用于添加的第一个按钮。按预期删除第一个按钮后,它开始生成错误“clickEvent”在每次点击时添加一个数字计数,在阅读了许多关于表单错误的帖子后,我仍然不确定如何解决这个问题,因为按钮与HTML文档中的表单完全无关,随后将表单设置为不需要验证并不能解决“novalidate”属性的问题。但是请注意,如果删除附加的onclick事件,则不会触发错误
任何帮助都将不胜感激:)这是因为事件侦听器是在页面加载时创建的 你应该这样做
$(wrapper_that_always_exists).on('click', the_freshly_added_element, function() {
...
});
在你的例子中,它是这样的
$('#BoxInner').on('click', '#dynamicButton', function() {
...
});
执行此操作时,
BoxInner
元素将始终侦听内部任何元素上的所有单击,无论是否初始创建,该元素具有iddynamicButton
,这是因为事件侦听器是在页面加载时创建的
你应该这样做
$(wrapper_that_always_exists).on('click', the_freshly_added_element, function() {
...
});
在你的例子中,它是这样的
$('#BoxInner').on('click', '#dynamicButton', function() {
...
});
执行此操作时,BoxInner
元素将始终侦听内部任何元素上的所有单击,无论是否初始创建,该元素具有iddynamicButton
$(“#BoxInner”).append($(“+”按钮“+);//将此消息传递给clickEvent函数
功能点击事件(obj)
{
$(obj).remove();//像这样删除按钮
}
$(“#BoxInner”).append($(“+”按钮“+);//将此消息传递给clickEvent函数
功能点击事件(obj)
{
$(obj).remove();//像这样删除按钮
}