2010-05-31 56 views
1

我使用Ajax.BeginForm()获得了强类型View的控制权。现在我想改变提交方法ASP.NET MVC 2从JavaScript发布AJAX

<input type="submit" id="testClick" value="Submit" /> 

给一些JavaScript方法DoSubmit()。 我想的是:

  • 上调用点击提交按钮
  • 调用的形式提交( 'Form1的')提交(),document.forms [ 'form1的']提交()
  • 。 jQuery form('form1')。AjaxSubmit();
  • 创建jQuery的AJAX

    $.ajax({               
        type: "POST", 
        url: $("#form1").attr("action"), 
        data: $("#form1").serialize(),    
        success: function() { 
         alert("epic win!!!1!1!")  
        }, 
        error: function(XMLHttpRequest, textStatus, errorThrown) { 
         alert("epic fail!")           
        } 
    }); 
    

所有这些方法创建的正常请求(不AJAX),或他们没有工作。所以任何人都知道我怎么可以做AJAX提交“表单”,从JavaScript和强类型机制(公共AcrionResult MyFormAction(FormModel模型);)将工作?

回答

1

我已经使用jquery的表单插件的这个工作很好。我发现的是,我必须处理点击事件,执行ajax提交,然后返回false以确保没有发生正常的帖子。

<script type="text/javascript"> 
    $('#testClick').click(function(){ 
     $('#form1').ajaxSubmit(); 
     return false; 
    }); 
</script> 
+0

感谢您的回答,它工作正常。但是在ajax提交表单无法验证之后有一个问题。我使用Xval和jquery.validation。 我试过: $('#form1')。validate();经过ajaxSubmit或之前的 ,它没有工作 – ANDyW 2010-05-31 13:17:22