Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/366.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 表单提交时,单击功能和提交的顺序_Javascript_Html - Fatal编程技术网

Javascript 表单提交时,单击功能和提交的顺序

Javascript 表单提交时,单击功能和提交的顺序,javascript,html,Javascript,Html,关于单击并提交 示例如下: <form action="url" method="post"> <input type="text" id="input1"/> <input type="submit" value="submit" onclick="testFun()"/> </form> 如果有可能,当我们单击按钮提交表单时,testFun函数会在表单提交后运行 如果回答是否定的。 为什么?单击“提交”按钮时浏览器如何工作??顺序是单击功

关于单击并提交 示例如下:

<form action="url" method="post">
<input type="text" id="input1"/>
<input type="submit" value="submit" onclick="testFun()"/>
</form>

如果有可能,当我们单击按钮提交表单时,testFun函数会在表单提交后运行

如果回答是否定的。
为什么?单击“提交”按钮时浏览器如何工作??顺序是单击功能->提交?是否正确???

这是不可能的,因为表单的
操作将把浏览器重定向到该URL

1个选项是在
操作
url
页面上运行
testFun()
,但这可能不可能,具体取决于函数的功能


如果您想在此处发布更多关于您实际要做的事情的信息,那么可能会有所帮助。

不,提交后您将超出当前页面的范围。但是,如果您在表单提交中使用iframe并调用父页面上的函数,那么我认为它会起作用。

答案是“这是不可能的”

为什么

因为一旦浏览器触发提交事件,所有用户与页面的交互都将停止。触发提交事件后,浏览器和Web服务器之间将进行通信。这就是broswers的设计方式

在您的情况下,表单提交之所以发生,是因为您的页面中有一个表单,并且在该表单中有一个type=button的输入。如果您不想提交页面,可以将输入类型更改为按钮


选中此fiddle

否,但
testFun
可能(反过来)调用另一个异步函数,该函数在表单提交之前不会运行(此时它根本不会运行,因为浏览器会离开页面).

否提交表单后无法执行函数-执行顺序如下:

  • 用户单击提交按钮
  • 执行
    onclick
    功能
  • 浏览器将页面提交到表单操作中指定的
    url
通过从onclick处理程序返回
false
,可以防止浏览器提交页面:

function myfunc() {
  // do some stuff
  return false;
}
然后应修改“提交”按钮,如下所示:

<input type="submit" onclick="return myfunc()"/>


如果您确实希望在表单提交后执行函数,则需要使用AJAX提交表单-这不会导致浏览器离开页面,并且可以在表单提交后执行JavaScript函数

submit“closes”页面我不明白你的意思你想在提交表单之前还是之后运行函数?第一个是可能的,第二个不是(没有使用AJAX发布表单)为什么?你的意思是当单击时,单击函数运行,当它运行并提交??是吗?当您提交表单时,它会发布到URL。因此,您的表单页面不再显示,因此您无法在表单页面上运行任何功能。是的,但是如果浏览器忽略单击功能而只提交?这是可能的-使用AJAX发布表单,但Sking7使用提交按钮进行表单提交,而不是AJAX。是的,我同意。但是为什么呢?单击“提交”按钮时浏览器如何工作??顺序是单击功能->提交?是否正确???>>顺序是单击功能->提交?是的,当我们单击“提交”按钮时,“表单提交”起作用,因为页面中有表单,并且该表单中有一个类型为“提交”的输入,这里有各种各样的文档,但最有趣的是与事件有关:按钮的
onlick
事件在页面的
submit
事件之前触发形式