2011-03-07 88 views
0

我有一个非常基本的电子邮件提交表单在我的ASP.NET MVC 3应用程序。我正在尝试将jQuery表单插件与它集成。简单的JQuery表单提交与ASP.NET MVC 3

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.form.js")"></script> 

<script type="text/javascript"> 
// prepare the form when the DOM is ready 
$(document).ready(function() { 
    var options = { 
     beforeSubmit: showRequest, 
     success: showResponse 
    }; 

    // bind form using 'ajaxForm' 
    $('#mailform').ajaxForm(options); 
}); 
function showRequest(formData, jqForm, options) { 
    alert('request'); 
} 
// post-submit callback 
function showResponse(responseText, statusText, xhr, $form) { 
    alert('response'); 
} 
</script> 
... 
<form action="@Url.Action("SubmitEmail")" class="mail-form" id="mailform" method="post"> 
    <fieldset> 
     <span class="txt"> 
      <input type="text" name="email" id="email" value="Enter Your Email Address" /> 
     </span> 
     <input class="button" id="submitemail" type="submit" /> 
    </fieldset> 
</form> 

我测试了我的非AJAX版本,它工作得很好。然而,当我尝试使用jQuery插件时,showRequest函数被调用,但showResponse函数不会 - 并且该方法似乎也不曾在服务器上调用过。

回答

1

几件事情要检查 - 你有jQuery的形式script标签,但我没有看到一个jQuery的本身(你想拥有的jQuery插件之前上市)。

另外 - 安装Fiddler或Firebug并确保请求正在发送出去。只是为了抛出这个问题,对于这样简单的调用来说,表单插件是过度的。 $ .post会工作得很好。

+0

感谢安迪。我继续前进,只是使用$ .post方法。 – 2011-03-07 07:16:17