gpt4 book ai didi

javascript - Controller 中的 Angularjs 表单始终未定义

转载 作者:行者123 更新时间:2023-11-30 16:34:56 25 4
gpt4 key购买 nike

在我的项目中,我使用 ui-view 并具有以下结构(删除了不必要的代码):

<main class="content">
<div class="inner" ng-controller="OrderPageController">
<div ui-view="main-info"></div>
<div ui-view="comments"></div>
<div ui-view="bids-list"></div>
<div ui-view="add-bid"></div>
</div>
</main>

在添加出价 View 中:

<form name="newbidform" novalidate ng-submit="postNewBid(newbidform);">
<input type="text" ng-model="newbid.bid" required>
<input type="submit">
</form>

所以,然后我提交表单,我尝试检查所有必需的输入是否有效:

$scope.postNewBid = function(form) {

console.log(form) // $valid and $invalid always undefined
console.log($scope.newbidform) // always undefined

// check validity before send
if (!form.$valid) {
angular.forEach(form.$error, function (field) {
angular.forEach(field, function(errorField){
errorField.$setTouched();
})
});
$scope.failedSubmit = true;
return false;
} else {
$scope.failedSubmit = false;
}
// other things if form is valid

所以,表单总是未定义的问题(at all or $valid/$invalid attr)。我尝试将 formName 用作函数中的参数,作为 $scope.formName 变量(始终未定义),并在表单上第二次定义 Controller 两次:

<form name="newbidform" novalidate ng-submit="postNewBid();" ng-controller="OrderPageController">

实际上,它可以工作,但是当我试图访问 Controller 中的其他变量时 - 我不能。那么,有没有办法在 AngularJs 的 Controller 中获取表单状态?谢谢

最佳答案

newbid 是你要获取的变量对吧?

尝试:

<form name="newbidform" novalidate ng-submit="postNewBid(newbid);">

关于javascript - Controller 中的 Angularjs 表单始终未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32833522/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com