【问题标题】:checkbox not working with ajax and jquery 1.10.2复选框不适用于 ajax 和 jquery 1.10.2
【发布时间】:2013-11-09 02:55:15
【问题描述】:

更新:看起来呈现的输入字段的“data-val='true'”属性会导致错误。 Html.CheckBoxFor() 生成这个 html

<input checked="checked" data-val="true" data-val-required="The Remember me? field is required." id="RememberMe" name="RememberMe" type="checkbox" value="true">
                <input name="RememberMe" type="hidden" value="false">

如果我在视图中使用该确切代码但删除“data-val='true'”属性,它可以正常工作。


尝试在 MVC 4 和 jquery 1.10.2 中使用 Ajax.BeginForm() 提交表单时出现 javascript 错误。问题似乎是由复选框输入引起的,因为如果我删除复选框输入字段,它工作正常。如果我使用 jquery 1.8.3,它也可以正常工作。

Uncaught SyntaxError: Unexpected token u jquery-1.10.2.js:550

有什么想法吗?

谢谢

下面是我使用的代码块

@using (Ajax.BeginForm("Login", "Account", FormMethod.Post, new AjaxOptions { UpdateTargetId = "loginForm" }))
{
    @Html.AntiForgeryToken()
    <fieldset>
        <legend></legend>
        <ol>
            <li>
                @Html.LabelFor(m => m.UserName)
                @Html.TextBoxFor(m => m.UserName)<br />
                @Html.ValidationMessageFor(m => m.UserName)
            </li>
            <li>
                @Html.LabelFor(m => m.Password)
                @Html.PasswordFor(m => m.Password)<br />
                @Html.ValidationMessageFor(m => m.Password)
            </li>
            <li>
                @Html.CheckBox("RememberMe", new { @checked = "checked" })
                @Html.LabelFor(m => m.RememberMe, new { @class = "checkbox" })
            </li>
        </ol>
        <input type="submit" value="Log in" id="loginSubmitButton" />
    </fieldset>
    <p>
        @Html.ActionLink("Register", "Register") if you don't have an account.
    </p>
    @Html.HiddenFor(m=>m.RedirectUrl)
}

【问题讨论】:

  • 您是否尝试过在Html.CheckBox 帮助器中使用isChecked 参数,而不是htmlAttributes 参数?
  • 我尝试了 Html.CheckBox("RememberMe",true) 和 @Html.CheckBoxFor(m => m.RememberMe, new { @checked = "checked" }),但都不起作用。跨度>
  • 为什么不在生成LoginModel的控制器的GET操作中将RememberMe设置为true
  • 我最初尝试过,但也没有用
  • 第 550 行是 window.JSON.parse(data),你对 json 做了什么吗?

标签: jquery ajax asp.net-mvc-4 checkbox


【解决方案1】:

尝试为 URL 添加ValidationMessageFor

@Html.ValidationMessageFor(m => m.RedirectUrl)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-24
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多