MVC3剃刀的Ajax表单提交剃刀、表单、Ajax

由网友(滚开我要变身了)分享简介:我用MVC3助手来生成我的Ajax的形式是这样的:I use The MVC3 Helper to generate my Ajax form like this:@using (Ajax.BeginForm("Attended", "Lesson", new AjaxOptions{HttpMethod = "G...

我用MVC3助手来生成我的Ajax的形式是这样的:

I use The MVC3 Helper to generate my Ajax form like this:

@using (Ajax.BeginForm("Attended", "Lesson", new AjaxOptions
               {
                   HttpMethod = "GET",
                   InsertionMode = InsertionMode.InsertAfter,
                   UpdateTargetId = "mdl" + item.ID
               }))
            {
                @Html.HiddenFor(modelItem => item.ID);
                @Html.CheckBox("Attended", item.Attended, new { OnChange = "javascript:this.form.submit()"});
            }

我只是没有找到合适的方式提交表单上的复选框的更改事件。 我不希望我的用户点击提交按钮。

I just don't find the proper way to submit the Form on the change event of the checkbox. I don't want my users to click the submit button.

在HTMLAttribute工作,但就变回发发生的Ajax请求,而不是。

The HTMLAttribute works, but on the change a postback happens instead of an ajax request.

是否有人知道答案?

推荐答案

首先,创建一个表单里面的提交按钮,并通过设置属性风格=隐藏显示:无;。然后,而不是使用 this.form.submit()在你的onchange事件,使用以下命令:

First, create a submit button inside your form, and hide it by setting the attribute style="display:none;". Then, instead of using this.form.submit() in your onchange event, use the following:

$(this).parents('form:first').find(':submit')[0].click();

这将调用jquery.unobtrusive-ajax.js脚本,并完成您的Ajax提交。

This will invoke the jquery.unobtrusive-ajax.js script, and complete your Ajax submission.

阅读全文

相关推荐

最新文章