表单完成提交后执行javascript

Fal*_*per 6 javascript forms jquery post form-submit

我试图用表单将一些文件提交到我的数据库.表单具有隐藏iframe的目标.当它完成加载时,我想要显示一条消息.

 $("form#formPost").submit();
 customFunction();
Run Code Online (Sandbox Code Playgroud)

这个例子似乎没有在触发customFunction()之前完成提交,这对于我正在设计的内容非常糟糕.

有没有办法在完成发送数据时执行某些操作?我正在环顾stackoverflow,并且没有很多帖子直接关于此.我觉得我必须进入目标iframe并在准备就绪时在那里执行代码,等等.有没有办法让它按我的意愿去做?

我试过的选项:

 $("form#formPost").submit(function(){ customFunction(); });
Run Code Online (Sandbox Code Playgroud)

Fal*_*per 10

Coworker创造了一个能够做到这一点的功能.

function SubmitWithCallback(form, frame, successFunction) {
   var callback = function () {
       if(successFunction)
           successFunction();
       frame.unbind('load', callback);
   };

   frame.bind('load', callback);
   form.submit();
}
Run Code Online (Sandbox Code Playgroud)

此函数采用您提交的表单,表单目标iframe和将成功执行的anon函数.

  • 那些不使用jQuery的人; 使用#5:frame.onload = null#8:frame.onload = callback; (4认同)