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
事件之前触发形式