我有两个表单(在同一页中)。第一个表单上有两个按钮,NEXT和BACK。点击NEXT后,将在页面上呈现下一个表单。我使用ng-if来实现这个条件。
<form name="otpform" novalidate ng-if="renderotpform">
<fieldset ng-disabled="otpdisable">
<div class="middle-container steps fourth-step overflow-hidden" id="divotp">
<input class="" type="text" name="otp" placeholder="{{ 'OTP' | translate }}" ng-model="otp" required >
<input type="button" value="{{ 'BACK' | translate }}" class="brown-button" ng-click="gotoAck()">
<input type="submit" value="{{ 'NEXT' | translate }}" class="blue-button" ng-click="checkotp()">
</div>
</fieldset>
</form>
以下是我的 JavaScript 代码。
$scope.checkotp = function () {
debugger;
var otpvalue;
$scope.otp = {};
otpvalue = $scope.otp; //undefined
}
当我尝试访问otp模型时,我得到了未定义的属性。在之前的表单中,我有下一步按钮。在下一步按钮内部,我有 $scope.renderotpform = true;
所以上面的表单被显示出来了。请问为什么我无法在上述代码中访问OTP?
ng-show
替代ng-if
,因为后者会从 DOM 中删除内容,而前者只是在条件变为 false 时隐藏它。 - Shashank