submit()函数有回调吗?

我有这个代码,以及一个提交到框架的文件上传表单:

setMyCookie('name','value_1'); $('.myform').submit(); setMyCookie('name','value_2'); 

问题:Webkit浏览器似乎在表单被提交之前用’value_2’更新’MyCookie’,或者在它被提交的确切时刻更新,因此错误的cookie值随之发送。 我希望在提交表单后立即将cookie值更改为“value_2”,以便cookie可以用于其他请求。

以下代码工作正常,但我不认为使用timeout()是最好的解决方案。 也许有另一种方法来解决这个问题?

 setMyCookie('name','value_1'); $('.myform').submit(); setTimeout(function(){setMyCookie('name',value_2);},100); 

谢谢。

否。提交表单会加载一个全新的页面,通常会结束脚本的当前执行上下文。

例外情况是,如果您将表单提交到框架,在这种情况下将触发onload事件。

是的你可以。 看这里。

你必须使用AJAX来实现这一目标。 否则,表单将被提交,并且您的函数将要执行的其余JavaScript将被忽略,因为页面已重新加载。