【问题标题】:Angularjs how to reset form when close JQuery dialogAngularjs如何在关闭JQuery对话框时重置表单
【发布时间】:2016-07-19 16:52:38
【问题描述】:

我在一个页面中有不同的对话框。如果我打开对话框并提交一些表单,如果表单无效,那么它将显示错误消息并且对话框正在关闭。如果我重新打开相同的对话框错误,则再次显示。当我再次重新打开同一个对话框时,我想隐藏错误消息。

我在对话框关闭事件中做了一些代码更改,但它不起作用。

$dlg = $("#ItemDialog");

close: function () {
    var popupForm = $dlg.find("form");
    $(popupForm).trigger('reset');
    if ($scope.popupForm) $scope.popupForm.$setPristine();
}

【问题讨论】:

  • 提示:不要同时使用 Angular 和 jQuery,如果你使用得当,它们会重叠和 Angular(大部分情况下会使 jQuery 过时)
  • 我目前的项目在 JQuery 和 Live Project 中,现在开始实现 AngularJs,所以我们不能破坏现有的 JQuery 功能,所以请你给我一个解决这种情况的方法。

标签: angularjs forms validation


【解决方案1】:

似乎关闭事件没有正确绑定。要绑定 jquery 对话框的关闭事件,请参见 https://stackoverflow.com/a/172000/2509344

编辑 要清除表单,请尝试以下操作:

var popupForm = $dlg.find("form");
popupForm[0].reset();

或者如果你没有收音机,勾选并选择试试这个

popupForm.find("input, textarea").not(':input[type=button], :input[type=submit], :input[type=reset]').val("");

【讨论】:

  • 当我通过 chrome 关闭事件进行调试时工作正常。
  • 它工作正常,你给它的第二个解决方案也是清空按钮值。
  • @RajeshGK 也修复了第二个解决方案
猜你喜欢
  • 2023-03-16
  • 2012-01-08
  • 1970-01-01
  • 2011-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多