我需要確保用戶在用ng-click提交表單之前在textarea框中放置一條消息。AngularJS - 在ng-click運行函數前需要輸入字段
這裏是要運行單擊NG-點擊時的功能:
$scope.reject = function() {
$http.post('http://server.com/api/reject/' + carID, { Message: Message }).
success(function(data) {
$scope.output = data;
})
}
這裏是我的HTML:
<div id="reject" class="animated">
<h3>WARNING</h3>
<p>Your are about to <strong><u>REJECT</u></strong> this CAR. Are you sure this is the action that you want to take?</p>
<form name="reject">
<textarea placeholder="Message" ng-model="Message" ng-required="true"></textarea>
<button ng-click="reject.$valid && reject()">Reject</button>
</form>
</div>
我的HTML NG單擊代碼從this SO post有:
<form name="myform">
<input type="text" ng-model='name' ng-required="true" />
<button ng-click="myform.$valid && preview()">Preview</button>
<button ng-click="myform.$valid && update()">Update</button>
</form>
但由於某種原因,這對我不起作用。如果我刪除了forward.$valid &&
並將其作爲ng-click="reject()
它運行得很好,儘管我仍然可以在不輸入消息的情況下運行它。我需要textarea。所以我需要在函數運行之前進行驗證。我從另一個帖子下載的片段應該可以工作,但我不知道爲什麼它不是。
編輯 - 這是一個小提琴:My Fiddle
現在,消息框是我,另一個低於對別人的工作小提琴。我不明白我爲什麼不工作。
有人能告訴我我做錯了什麼嗎?
如果
您能否在plunkr/fiddle中重現問題? –
jsfiddle.net/r8d1uq0L/224 ........現在消息框是我的,下面的另一個是別人的工作小提琴。我不明白我爲什麼不工作 – agon024