Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS触发提交事件,同时防止默认_Javascript_Form Submit_Event Listener - Fatal编程技术网

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有任何效果。