Javascript 如何使用Js控制器中的变量创建HTML
我想用ng disable验证我的表单 因此,我的函数将检查用户输入的ID是否正确。Javascript 如何使用Js控制器中的变量创建HTML,javascript,angularjs,html,Javascript,Angularjs,Html,我想用ng disable验证我的表单 因此,我的函数将检查用户输入的ID是否正确。 如果所有的输入都填好了,我还要检查我的表格 这是我的职责: vm.validateid = function(){ console.log('here'); var objvar = { 'id': vm.data.referalid, 'referral2': true, }; $http.post(ConfigCnst.restUrl,obj
如果所有的输入都填好了,我还要检查我的表格 这是我的职责:
vm.validateid = function(){
console.log('here');
var objvar = {
'id': vm.data.referalid,
'referral2': true,
};
$http.post(ConfigCnst.restUrl,objvar).then(function(res) {
if (res.data.status !== true) {
alert('Invalid ID');
vm.data.referalName = 'Invalid ID';
vlid = res.data.status;
console.log(vlid);
} else {
alert('ID Validated');
vm.data.referalName = JSON.stringify(res.data.data.name);
vlid = res.data.status;
console.log(vlid);
}
});
}
我想取vlid
。它将包含true或false
这是我的ng禁用:
<button ng-disabled="registerForm.$invalid"
ng-click="register.submit()"
class="button button-block button-positive">Confirm</button>
确认
我想将registerForm
和vlid
都检查为false。是否有方法从我的控制器引用我的
vlid
?将变量vlid
设置为控制器中的$scope
变量($scope.vlid=vlid
)。然后可以在html视图中访问它。您需要更新ng disabled
表达式以包含vlid
的条件
<button ng-disabled="registerForm.$invalid && !vlid" ng-click="register.submit()" class="button button-block button-positive">Confirm </button>
确认
将变量vlid
设置为控制器中的$scope
变量($scope.vlid=vlid
)。然后可以在html视图中访问它。您需要更新ng disabled
表达式以包含vlid
的条件
<button ng-disabled="registerForm.$invalid && !vlid" ng-click="register.submit()" class="button button-block button-positive">Confirm </button>
确认
您可以使用$scope引用vlid
vm.validateid = function() {
console.log('here');
var objvar = {
'id': vm.data.referalid,
'referral2': true,
};
$http.post(ConfigCnst.restUrl, objvar).then(function(res) {
if (res.data.status !== true) {
alert('Invalid ID');
vm.data.referalName = 'Invalid ID';
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
} else {
alert('ID Validated');
vm.data.referalName = JSON.stringify(res.data.data.name);
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
}
});
}
HTML
确认
您可以使用$scope引用vlid
vm.validateid = function() {
console.log('here');
var objvar = {
'id': vm.data.referalid,
'referral2': true,
};
$http.post(ConfigCnst.restUrl, objvar).then(function(res) {
if (res.data.status !== true) {
alert('Invalid ID');
vm.data.referalName = 'Invalid ID';
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
} else {
alert('ID Validated');
vm.data.referalName = JSON.stringify(res.data.data.name);
vlid = res.data.status;
$scope.vlid_status = res.data.staus;
console.log(vlid);
}
});
}
HTML
确认
看不到控制器的定义位置/定义方式会使这变得有点困难,但是可以从控制器访问范围变量因此,有两种可能的方式定义控制器:
使用控制器:
您将在html中使用
myController作为someName
。然后可以将
someName.vlid
传递给函数,然后将其绑定到res.data.status
绑定到$scope:
在控制器中,将有一个参数
$scope
然后,您可以在控制器中使用
$scope.vlid
,或在html中使用ng model='vlid'
,将其传递给函数,并以相同的方式处理它。如果您已经在控制器中定义了该函数,则可以使用
ng model='vlid'
或ng model='someName.vlid'
,具体取决于控制器的定义方式。无法查看控制器的定义位置/定义方式会使这一过程变得有点困难,但是可以从控制器访问范围变量因此,有两种可能的方式定义控制器:
使用控制器:
您将在html中使用
myController作为someName
。然后可以将
someName.vlid
传递给函数,然后将其绑定到res.data.status
绑定到$scope:
在控制器中,将有一个参数
$scope
然后,您可以在控制器中使用
$scope.vlid
,或在html中使用ng model='vlid'
,将其传递给函数,并以相同的方式处理它。如果您已经在控制器中定义了该函数,则可以使用
ng model='vlid'
或ng model='someName.vlid'
,具体取决于控制器的定义方式。所有函数都已填充。
。。。如果使用验证属性/指令,表单将保持$invalid=true
,直到所有字段上的要求都匹配,并且每个字段变为$valid=true
。换句话说,您不需要在客户端再次检查……但始终在服务器上重新验证Yea,因此,一旦我的表单有效,我还需要让我的ID有效。我的函数验证我的ID,但我不知道如何将该状态(有效ID)添加到表单中…下面答案中的解决方案管理ID标志所有已填写
。。。如果使用验证属性/指令,表单将保持$invalid=true
,直到所有字段上的要求都匹配,并且每个字段变为$valid=true
。换句话说,您不需要在客户端再次检查……但始终在服务器上重新验证Yea,因此,一旦我的表单有效,我还需要让我的ID有效。我的函数验证我的ID,但我不知道如何将该状态(有效ID)添加到表单中…答案管理中下面的解决方案相当清楚OP使用的是controllerAs语法…使用的是vm
as此相当清楚OP使用的是controllerAs语法…使用的是vm
as此