我在div中有一个表单,其中包含ng-if 条件。最初表格已关闭。单击按钮,将显示表单。但在提交表单时,我收到Cannot read property '$valid' of undefined
错误。如果我将ng-if更改为ng-show,则表示完美。但我必须使用ng-if。我无法找到错误的原因。还有一件事,在收到错误时,我还将表单对象变为null 。如果有人知道答案,我们将不胜感激。
这是我的代码
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');
}
}
答案 0 :(得分:6)
在addComment中传递表单 - fiddle
In [122]:
df.merge(df_subset, how='left', indicator=True)
Out[122]:
a b c _merge
0 -0.134933 -0.664799 -1.611790 left_only
1 1.457741 0.652709 -1.154430 left_only
2 0.534560 -0.781352 1.978084 both
3 0.844243 -0.234208 -2.415347 left_only
4 -0.118761 -0.287092 1.179237 left_only
答案 1 :(得分:0)
ng-if 条件不会将组件添加到DOM中,直到满足条件,而 ng-show 在DOM中添加组件以及何时条件很满意,它显示出来。 所以,这就是它给出错误的原因,因为它在DOM上不可用。