如果表单位于具有 ng-if 条件的 div 内,则无法读取未定义的属性“$valid”

2024-01-18

我有一个使用 ng-if 在 div 内形成表单健康)状况。最初表单是关闭的。单击按钮后,将显示表单。但在提交表格时,我得到Cannot read property '$valid' of undefined错误。如果我更改ngif和ng-show,效果完美。但我必须使用 ng-if 。我找不到错误原因。还有一件事,在出现错误时,我也得到了表单对象为空。如果有人知道答案,将不胜感激。

这是我的代码

HTML

<div id="addCommentDiv" ng-if="showAddCommentForm == true">
    <form id="formAddComment" name="formAddComment" novalidate>
        <textarea id="taAddComment" name="taAddComment" placeholder="Add a comment.." ng-model="new_comment" ng-maxlength="1000" ng-required="true"></textarea>
        <button type="button" ng-click="addComment()" ng-disabled="addCommentDisabled">Ok</button>
    </form>
</div>

JS

$scope.addCommentDisabled = false;
$scope.addComment = function () {
    if ($scope.formAddComment.$valid) {
        console.log('valid');
    }
}

在 addComment 中传递表单 -fiddle https://jsfiddle.net/c5vxffLa/

$scope.addComment = function (formAddComment) {
 console.log('valid');
 if (formAddComment.$valid) {
    console.log('valid');
 }
}

 <button type="button" ng-click="addComment(formAddComment)" ng-disabled="addCommentDisabled">Ok</button>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如果表单位于具有 ng-if 条件的 div 内,则无法读取未定义的属性“$valid” 的相关文章

  • Django 表单中的只读字段

    如何在 Django 表单中将字段设置为只读 我知道如何禁用某个字段 但这不是我想要的 任何帮助 将不胜感激 您可以使用可选的attrs定义时的参数Field 以机智 somefield forms CharField widget for
  • Angularjs:当输入的字符串未找到匹配项时,在预输入中不显示搜索结果

    我正在使用 Angular UI bootstrap typeahead 我有 HTML
  • Jquery - 仅发送表单中的一些值

    使用 checkTL 函数 我需要将输入值发送到服务器 例如 仅将输入值发送到类为 sideon 的 div 中 因此 在示例中 我需要 服务器端 仅获取 inputside0 和 inputside3 的值 这怎么可能 干杯 使用 AJA
  • 角度剑道下拉

    我正在对许多组件使用 Angular kendo ui 但遇到了一个我似乎无法解决的问题 我有以下角度选择 它工作正常并将所选值正确绑定到 ng model
  • 为什么 event.stopPropagation() 不会阻止

    SO 上也提出了与此类似的问题 但他们要么只关心解决其具体实现 要么没有明确提出这个问题 此外 所有答案都没有真正解决这个问题 给出以下示例 document querySelector span addEventListener clic
  • 如果满足条件,Angular JS 如何添加 CSS 类

    我正在创建一个截断指令 如果字符超过 10 我就会截断文本字符串 然后它将显示 我的目标是编写一个条件 如果字符少于 10 个 则删除 如果有人对我如何实现此目标有任何想法 我会坚持这一点并接受建议 这是我的代码 var app angul
  • Angular 链接函数:$Scope 与 Scope

    在我在教程中看到的角度指令中 link function scope element attrs or link function scope element attrs 现在我知道 意味着角度服务 这在这里成立吗 scope 和scope
  • 如何在 AngularJS/Bootstrap3 中禁用基于复选框的内容

    我正在创建一个表单 用户可以在其中配置重复事件 因此有大量控件 顶部是一个用于启用 禁用计划的复选框 如何禁用但不隐藏基于复选框的整个部分 如果选中 用户应该能够对时间表进行修改 如果没有检查 则不允许进行任何更改 我相当确定我可以在每个控
  • AngularJs:当放置在 ng-view 标签内时,ng-include 不起作用

    我正在通过 ng view 内的角度路线加载 html 页面 我正在加载的页面包含一个 ng include 标签 指向 另一个 html 文件 我尝试了以下所有语法 div src div div div div src include
  • AngularJS 1.X 中的异步调用是如何工作的? $Http 调用没有返回值

    我有以下名为的函数getvalue 它与控制器一起位于 AngularJS 模块内 我试图在单击事件上调用此函数 调用控制器中的另一个函数 我希望我很清楚 功能 function getvalue Data http var value u
  • 如何使用 KendoUI 网格设置 CURD 以与 Kendo-Angular 和 Angular OData 工厂一起使用?

    在之前的项目中 我没有使用 Angular 我设置了一个Kendo DataSource使用 OData 端点 如下所示 var userDS new kendo data DataSource type odata transport r
  • 验证以防止角度形式出现重复的形式值

    我有几个表单数组 我需要进行验证 以便每个表单行中的特定字段在所有表单数组中必须是唯一的 如果任何值出现多次 则两个表单字段都必须标记为红色 我设法编写了一个函数 以便如果这些字段有任何更改 该函数将返回 true false 但我不确定如
  • 禁用 HTML 验证。如何为全局每个表单设置“novalidate”?

    我想知道是否可以做一些事情来禁用应用程序中每个表单的 HTML 验证 有什么办法可以做到这一点或者我应该添加novalidate每个表单标签的属性 看来唯一的方法是添加novalidate使用 JavaScript jQuery 为每个表单
  • 将 ngModel 绑定到自定义指令

    所以我已经在这个问题上工作了一个星期了 但我似乎无法理解整个指令的事情 我读了很多帖子 揭秘指令 http www toptal com angular js angular js demystifying directives 指令 ht
  • AngularJS:理解 $rootScope.$on('$routeChangeSuccess

    我正在开发登录页面 成功后 它会重定向到主页 默认情况下 我显示登录页面以下代码 app run function rootScope location rootScope on routeChangeSuccess function lo
  • 未捕获的引用错误:在 karma start karma.conf.js 上未定义 require

    使用 Karma 和 Jasmine 对 Rails 应用程序的 Angular 前端进行单元测试 看来我已经做了所有已知的事情来解决这个错误 并且我的 package json 中留下了一百万个依赖项 这是我的 Karma conf js
  • ngRepeat 中的指令时的绑定问题

    这就是它的样子 这是Plunker http plnkr co edit IPwDLT p preview parent scope ng repeat directive 在指令中 有一个属性与父作用域中的变量进行双向绑定 但这并没有像我
  • ui-sref 和变量状态参数名称

    我想呈现一个链接 例如 a 其中州名myState和钥匙myKey是变量 有办法做到这一点吗 我发现自己处于同样的情况 我也无法完成这一点 尝试使用 ng click 移动代码 并在 ng click 函数内部使用 stage go htt
  • Rails 3:用户创建自定义表单?

    我正在尝试思考如何允许用户创建具有所有字段类型的自定义表单 如果有一颗宝石那就太好了 但我似乎无法在任何地方找到它 所以我有一个像这样的数据库设置 t integer form id t string name t string hint
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery

随机推荐