在MVC3中提交Ajax表单

时间:2011-07-03 14:43:07

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

我有一个包含一些字段的表单。我想在用户在其中一个表单字段的文本框中输入数字时显示一些标签。 我知道我必须使用Ajax,但问题是Ajax表单是另一种形式。因此,当我提交Ajax表单时,外部表单是提交,我无法获得Ajax请求。 这是我的代码结构:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset style="font-family:'B Nazanin';font-size:14pt">
    <div align="center">        
        <table border="0">
            <tr align="center">
                <td>
                    @Html.LabelFor(model => model.a)

                </td>
                <td>
                    @Html.LabelFor(model => model.a)
                    @Html.EditorFor(model => model.a)
                    @Html.ValidationMessageFor(model => model.a)
                </td>
            </tr>
        </table>
        <div align="right" id="searchJustForm">
         <fieldset style="font-family:'B Nazanin';font-size:14pt">                             
            @using (Ajax.BeginForm("Index", "Terminal", new AjaxOptions() { UpdateTargetId = "divGomrokJust", InsertionMode = InsertionMode.Replace }))
            {
            <div align="center">

谢谢你的关注。

2 个答案:

答案 0 :(得分:3)

您无法嵌套HTML表单。这是无效的HTML。您将不得不修改您的标记。您可以通过订阅表单元素的.change事件来使用纯jQuery,并使用$.ajax方法触发AJAX请求。

答案 1 :(得分:0)

使用$ .post来自jQuery库(www.jquery.com)的Javascript函数将是最佳解决方案