使用jquery在modalbox中提交表单

时间:2012-10-16 03:32:50

标签: jquery forms

使用jQuery提交表单

作品

         $('#testform').submit();

不起作用

              $('#testform').submit(function () {
                 alert('test1');
                return true;
              });

这只是一个例子,但有时我想在提交表格之前做一些事情。例如,使用$.POST

提交表单

更新

如果我保留两者,那么$.POST没有价值,因为表单仍然以传统方式提交,没有ajax ......

                    $("#testform").submit(function() {
                            $.post('/myajaxcontroller', function(data) {
                                $('#result').html(data);
                            });
                    });
                    $("#testform").submit();   

3 个答案:

答案 0 :(得分:1)

第一个示例提交表单。第二个示例为您提交表单时设置事件处理程序。你需要两个;

如果你需要异步的东西,你被迫从提交处理程序return false,所以表单没有提交,你可以在AJAX回调中提交表单。

 // Send an AJAX request before submitting the form
 $('#testform').submit(function () {
     var form = this;
     $.post('/myajaxcontroller', function(data) {
         $('#result').html(data);
         // everything is good, submit the form on our own
         if (data.looksGood) {
             form.submit();
         }
     });

     return false;
 });

答案 1 :(得分:0)

$('#testform').submit();

此行调用立即提交(提交正在运行!)

$('#testform').submit(function () {

    // Do some stuff

    return true;
});

此行仅定义在提交表单之前将调用哪个回调函数 。 你应该注意文档,jQuery函数不带有和不带参数的相同工作。

答案 2 :(得分:0)

使用“防止默认设置”停止发生默认提交

  $("#testform").submit(function(e) {
       e.preventDefault()  //< ---- Add this
       $.post('/myajaxcontroller', function(data) {
       $('#result').html(data);
        });
  });

  $("#testform").submit();