Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.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_Angularjs_Validation_Formwizard - Fatal编程技术网

Javascript angularjs表单验证向导

Javascript angularjs表单验证向导,javascript,angularjs,validation,formwizard,Javascript,Angularjs,Validation,Formwizard,因此,我决定使用ng form指令链接到下一步。但我发现,除了当前步骤之外,下一步的另一个链接是启用的 因此,我将其更改为使用ng disabled的标志。这是我的密码: index.html 但是,只要当前步骤的表单验证有效,使用此方法将不会启用下一步。我如何解决这个问题?谢谢 更新 我尝试以下解决方案: 测试1: 测试2结果: 当Im处于上一步时,指向此步骤的链接将完全禁用。但是,当Im处于此步骤且表单有效时,到下一步的链接仍然被禁用。您无法对整个表单进行验证。您需要检查每个输入是否有$in

因此,我决定使用
ng form
指令链接到下一步。但我发现,除了当前步骤之外,下一步的另一个链接是启用的

因此,我将其更改为使用
ng disabled
的标志。这是我的密码:

index.html

但是,只要当前步骤的表单验证有效,使用此方法将不会启用下一步。我如何解决这个问题?谢谢

更新

我尝试以下解决方案:

测试1:

测试2结果:


当Im处于上一步时,指向此步骤的链接将完全禁用。但是,当Im处于此步骤且表单有效时,到下一步的链接仍然被禁用。

您无法对整个表单进行验证。您需要检查每个输入是否有$invalid。也许您创建了一个函数或其他东西,它将检查表单的每个输入


编辑:我回答错了对不起。所以这将是您问题的解决方案:

您不能对整个表单进行验证。您需要检查每个输入是否有$invalid。也许您创建了一个函数或其他东西,它将检查表单的每个输入


编辑:我回答错了对不起。因此,这将是您问题的解决方案:

您的控制器中应该有一个$scope变量:

$scope.currentStep = 0;
$scope.enableCount = 0;
然后你有一个函数

$scope.changeStep = function(index){
    $scope.currentStep = index;
}
在“提交”功能中,添加以下代码行:

if(form.$valid && $scope.enableCount <= $scope.currentStep) $scope.enableCount++;

if(form.$valid&&$scope.enableCount控制器中应该有一个$scope变量:

$scope.currentStep = 0;
$scope.enableCount = 0;
然后你有一个函数

$scope.changeStep = function(index){
    $scope.currentStep = index;
}
在“提交”功能中,添加以下代码行:

if(form.$valid && $scope.enableCount <= $scope.currentStep) $scope.enableCount++;

if(form.$valid&&$scope.enableCount你能给我举个例子吗?嗨,谢谢你的帮助:D。你的解决方案更接近我需要的。所以我需要的是,我希望在表单有效时启用下一步的链接,就像ng form和ng disabled一样。因此它不会由表单提交触发。请查看我的更新问题。你能给我一个例子吗充足?您好,谢谢您帮助我:D。您的解决方案更接近我需要的。因此,我需要的是,我希望在表单有效时启用指向下一步的链接,就像ng form和ng disabled一样。因此它不会由表单提交触发。请查看我的更新问题抱歉,我看到您需要它,但没有提交功能。您好,谢谢回答:D但我认为它只在提交按钮时触发。是否有任何方法可以在表单有效时启用/禁用?也许你可以观察表单的有效性,但计算成本很高。你会想到另一种方法吗idea@ShimonBrandsdorfer你得到答案了吗?我不是原来的波索里,我看你需要没有s的答案ubmit function.hi谢谢你回答:D,但我认为它只有在提交按钮时才会触发。是否有任何方法可以在表单有效时启用/禁用?也许你可以观察表单的有效性,但计算成本很高。你会想到另一种方法吗idea@ShimonBrandsdorfer你得到答案了吗?我不是始作俑者阿宝
if(form.$valid && $scope.enableCount <= $scope.currentStep) $scope.enableCount++;
<div class="stepwizard-row setup-panel">
    <div class="stepwizard-step">
        <a ui-sref="step1" type="button" ng-click="changeStep(0)" class="btn btn-primary btn-circle active-step-wizard">1</a>
    </div>
    <div class="stepwizard-step">
        <a ng-disabled="enableCount < 1" ng-click="changeStep(1)" ui-sref="step2" type="button" class="btn btn-primary btn-circle active-step-wizard">2</a>
    </div>
    <div class="stepwizard-step">
        <a ng-disabled="enableCount < 2" ng-click="changeStep(2)" ui-sref="step3" type="button" class="btn btn-primary btn-circle active-step-wizard">3</a>
    </div>
    <div class="stepwizard-step">
        <a ng-disabled="enableCount < 3" ng-click="changeStep(3)" ui-sref="step4" type="button" class="btn btn-primary btn-circle active-step-wizard">4</a>            
    </div>
    <div class="stepwizard-step">
        <a ng-disabled="enableCount < 4" ng-click="changeStep(4)" ui-sref="step5" type="button" class="btn btn-primary btn-circle active-step-wizard">5</a>            
    </div>
    <div class="stepwizard-step">
        <a ng-disabled="enableCount < 5" ng-click="changeStep(5)" ui-sref="step6" type="button" class="btn btn-primary btn-circle active-step-wizard">6</a>
    </div>
</div>