Javascript JS触发提交事件,同时防止默认
我为提交事件添加了一个事件侦听器,如下所示:Javascript JS触发提交事件,同时防止默认,javascript,form-submit,event-listener,Javascript,Form Submit,Event Listener,我为提交事件添加了一个事件侦听器,如下所示: form.addEventListener('submit',function(event){ event.preventDefault(); /*some few hundred more lines*/ },false); 我的问题是当我稍后使用这段js时: from.dispatchEvent(新事件('submit') 函数已被处理,但页面被重新加载,因为preventDefault()没有任何效果,如何调度事件而不触发默认值?1)您还需要
form.addEventListener('submit',function(event){
event.preventDefault();
/*some few hundred more lines*/
},false);
我的问题是当我稍后使用这段js时:from.dispatchEvent(新事件('submit')代码>
函数已被处理,但页面被重新加载,因为preventDefault()
没有任何效果,如何调度事件而不触发默认值?1)您还需要e.stopPropogation(),尽管现在它是多余的,但要处理旧的IE,最好在末尾返回0
2) 实际上,不要再让按钮变成提交按钮了。submit明确表示“发送到另一端”。只需处理按钮的onclick即可。将表单上的操作设置为javascript:void(0)
而不是
工作。首先,要手动提交,您只需编写:from.submit()
。其次,为了避免硬连接的preventDefault()
,您需要将其包装成一个条件,然后测试一些条件,以确定是否要提交。真正的问题是,为什么您有一个总是取消事件的提交事件处理程序?所有事情都由以下javascript处理,它从服务器获取数据,并将数据从
或
表单插入到现有页面中。修复了,作为示例变量,它实际上是使用文档对象的元素名称引用的。在点#2上,您可以点击输入字段上的enter键以提交源;关于第1点,我不支持IE8,belowIt听起来真的不应该使用表单,或者不应该在表单上设置目标/方法,而不是试图在过程中停止,但是我给了你在第1点中要求的答案。目标是#也不返回false/0或stopPropogation有任何效果。