关于点击并提交 以下示例:
<form action="url" method="post">
<input type="text" id="input1"/>
<input type="submit" value="submit" onclick="testFun()"/>
</form>
如果有可能在我们点击提交按钮后提交表单提交后运行testFun函数
如果答案是否定的。 为什么?单击提交按钮时浏览器如何工作?订单是点击功能 - &gt;提交?是对的吗?
答案 0 :(得分:2)
在表单提交后,你不能执行一个函数 - 执行的顺序如下:
onclick
功能url
您可以通过从onclick处理程序返回false
来阻止浏览器提交页面:
function myfunc() {
// do some stuff
return false;
}
然后应该像这样修改提交按钮:
<input type="submit" onclick="return myfunc()"/>
如果你希望在提交表单后执行一个函数,你需要使用AJAX提交表单 - 这不会导致浏览器离开页面,并且在表单提交后可以执行JavaScript函数
答案 1 :(得分:1)
这是不可能的,因为表单的action
会将浏览器重定向到该网址。
1选项是在testFun()
action
页面上运行url
,但这可能无法实现,具体取决于该功能的作用。
如果您要发布有关您在这里尝试做什么的更多信息,那么它可能会有所帮助。
答案 2 :(得分:1)
不,但testFun
可能(反过来)调用另一个异步函数,该函数在表单提交之前不会运行(此时它将不会运行,因为浏览器将离开页)。
答案 3 :(得分:0)
不可能,提交后你不在当前页面的范围内。但是,如果您使用iframe进行表单提交并在父页面上调用该函数,那么我认为它会起作用。
答案 4 :(得分:0)
anwswer是“不可能”
<强>为什么强>
因为一旦浏览器触发提交事件,所有用户与页面的交互都将停止。触发提交事件后,您的浏览器和Web服务器之间就会进行通信。这就是broswers的设计方式。
在您的情况下,表单提交是因为您在页面中有一个表单,并且在该表单中您输入了type = button。如果您不想提交页面,可以将输入的类型更改为按钮。