【问题标题】:Clear ASP.Net MVC validation messages with jQuery使用 jQuery 清除 ASP.Net MVC 验证消息
【发布时间】:2011-01-24 22:52:09
【问题描述】:

在我的 asp.net mvc 页面中,我需要一个“清除”按钮来重置某些输入字段并清除所有错误消息。清除输入很好,但是因为验证消息是由 asp.net mvc javascript 生成的,所以我不清楚如何清除它们?

更新: 这对我来说效果很好。

$(".field-validation-error").empty();

【问题讨论】:

  • 是您要清除的服务器端错误信息吗?
  • 我以为它们是在客户端生成的,但我只是连接了提琴手,它们毕竟是在服务器端生成的。如果我仍然可以通过按下客户端上的按钮而不需要重新提交来删除它们,那就太好了。

标签: jquery asp.net-mvc


【解决方案1】:

您可以查看在浏览器中生成的 html 代码,然后通过 jquery 将其清空,例如empty()

要查找生成的代码:

  • 正常回发:在浏览器中查看页面的“源代码”并查找错误消息。找到父 div 以清空它。
  • Ajax 调用:右键单击并检查 Chrome 中的元素(其他现代浏览器对它的称呼不同,但他们应该有这个工具)。这将为您提供在当前状态下生成的 html(在 ajax 调用之后)。找到父 div 并将其清空。

希望对你有帮助

【讨论】:

    【解决方案2】:
    $('.field-validation-error').text("")
    

    【讨论】:

    • 请在您的答案中添加一些解释,以使其对其他读者有用。
    【解决方案3】:

    一个简单且可重用的 jQuery 函数,您可以在任何 jQuery 对象上调用:

    $.fn.clearErrors = function () {
        $(this).each(function() {
            $(this).find(".field-validation-error").empty();
            $(this).trigger('reset.unobtrusiveValidation');
        });
    };
    

    用法:

    question.clearErrors();
    

    原答案:https://stackoverflow.com/a/16165831/114029

    【讨论】:

      【解决方案4】:

      有一个重置输入按钮可能会有所帮助,但它只会将表单重置回其状态当表单被加载时

      当我想重置所有值时,我通常将超链接伪装成重置按钮。当有人点击它时,它只是对表单执行一个新的 GET 请求。由于 GET 请求的控制器操作只返回一个全新的空模型,因此它具有与“清除”按钮相同的效果。

      【讨论】:

      • 是的,这可能是最简单的方法,但我仍然想知道是否有办法在客户端做到这一点。
      猜你喜欢
      • 1970-01-01
      • 2019-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多