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>