【问题标题】:ASP MVC CheckBox form submit issuesASP MVC CheckBox 表单提交问题
【发布时间】:2016-05-04 19:12:01
【问题描述】:

我们有一个视图,其中有一个从模型属性设置的 CheckBox。

@using (Ajax.BeginForm(new AjaxOptions { HttpMethod = "get", InsertionMode = InsertionMode.Replace, UpdateTargetId = "content_list", Url = Url.Action("IndexList", "UsersAdmin", new { id = "formSearch" })))
{
    .......(some code)
    <div id="content_list">
        @Html.CheckBoxFor(model => model.SearchAll)
    </div>
    <div id="content_list">
        @Html.Partial("_List", Model)
    </div>
}

根据第一次加载,复选框是否被选中。这很好用,没有问题。

如您所见,CheckBox 位于 Ajax 表单中,该表单刷新包含列表的部分列表。

在我们拥有的脚本中:

    $("#SearchAll").change(function() {
        jQuery('#SearchAll').closest('form').submit();
    });

当 CheckBox 首次加载未选中时没有问题。我们选中它并取消选中它,总是会调用控制器操作。

问题是当我们第一次加载 CheckBox 时勾选了(真值)。在这种情况下,当我们取消选中复选框时,它会转到 javascript 更改功能,但不会调用控制器操作。当我们再次检查它时,它工作得很好。因此,在这种情况下,它仅在您选中复选框时有效,而在取消选中时无效..

我们已经尝试了很多东西,但看起来很奇怪......也许有人知道这个问题。

提前致谢。

【问题讨论】:

  • 控制台中有什么? (浏览器中的 F12 按钮。)有任何错误吗?也请出示您的控制器
  • 没有错误,事实上我已经检查过了,它在任何情况下都能通过。唯一的问题是当它首先被检查时,它在控制器(服务器)中什么都不做,但它执行 javascript 很好。
  • 您的页面上只有一个表单吗?可能是.closest('form') 返回其他形式
  • 是的,我们也尝试过点击提交按钮或直接调用表单。结果相同。就像我们从选中状态变为未选中状态时,它不想执行 Ajax 调用。
  • 我们发现,即使是搜索按钮或表单中的任何按钮都停止工作,直到您再次选中复选框以选中。

标签: javascript asp.net-mvc checkbox


【解决方案1】:

CheckBox 本身没有问题,当 CheckBox 被选中时,表单内部有一个控件给出了不正确的值,因此表单没有验证,也没有执行 ajax 调用。

对不起各位,感谢您的回答。

我希望这至少可以帮助有类似错误的人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-10-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多