使用ASP.NET MVC 3进行简单的JQuery表单提交

时间:2011-03-07 06:34:57

标签: jquery ajax jquery-plugins asp.net-mvc-3

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

<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 个答案:

答案 0 :(得分:1)

要检查几件事 - 你有一个jQuery表单的脚本标签,但我没有看到jQuery本身的一个(你想在插件之前列出jQuery)。

此外 - 安装Fiddler或Firebug并确保发出请求。只是把它扔出去,对于一个调用这个简单的表单插件是过度的。 $ .post会正常工作。