Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步加载表单的AngularJS验证_Javascript_Forms_Validation_Angularjs - Fatal编程技术网

Javascript 异步加载表单的AngularJS验证

Javascript 异步加载表单的AngularJS验证,javascript,forms,validation,angularjs,Javascript,Forms,Validation,Angularjs,我正在构建一个AngularJS应用程序,其中包括包含表单的模式窗口,并异步加载到DOM中(当单击相应的按钮时)。这些表格很好用,但我无法正确检查它们是否有效。下面是一个例子: HTML <div ng-app="myapp" ng-controller="MyCtrl"> <form novalidate name="myform" ng-submit="submitForm(myform)"> <input type="text" req

我正在构建一个AngularJS应用程序,其中包括包含表单的模式窗口,并异步加载到DOM中(当单击相应的按钮时)。这些表格很好用,但我无法正确检查它们是否有效。下面是一个例子:

HTML

<div ng-app="myapp" ng-controller="MyCtrl">
    <form novalidate name="myform" ng-submit="submitForm(myform)">
        <input type="text" required ng-model="myname" />
    </form>
</div>

如果异步加载此表单,则表单变量的值为NaN,且表单。$valid未定义。但是,如果我将它与页面的其余部分一起加载,它就可以正常工作。有人知道如何强制AngularJS填充表单的范围变量吗?谢谢

使用ng包含表单时,将创建一个包含子范围。父作用域和子作用域无法相互访问其作用域。因此,$valid将显示为空

前几天我遇到了一个类似的问题,得到了一个适合我的解决方案:


使用ng包含表单时,将创建一个包含子范围。父作用域和子作用域无法相互访问其作用域。因此,$valid将显示为空

前几天我遇到了一个类似的问题,得到了一个适合我的解决方案:


如何将表单加载到DOM?包括。我只是切换模板文件路径来更改模式的内容。在这里尝试一下答案,它可能会帮助您如何将表单加载到DOM?ngInclude。我只是切换模板文件路径来更改模式文件的内容。在这里尝试一下答案,可能会有所帮助
var app = angular.module('myapp', []);
app.controller("MyCtrl", function($scope) {
    $scope.submitForm(form) {
        if(form.$valid) {
            // Do http stuff here
        }
    };
});