0
複数のコントロールを持つフォームがあり、必要なフィールドの検証が設定されています。データが正しい場合は、送信ボタンを呼び出したいと思います。しかし、すべてのデータがいっぱいになり、送信ボタンをクリックしても、ボタンは呼び出されません。以下のサンプルコードが使用されます。送信ボタンが呼び出されない - AngularJs
<form name="mainForm" id="createForm" ng-submit="mainForm.$valid && add()" novalidate>
<div ng-controller="testController" ng-init="init()">
<div class="container" ng-show="createMenu">
<br />
<div class="row">
<div>
<label>Test:</label>
</div>
<div >
<select name="testTypeSelect" required ng-model="selectedtestType" ng-options="test.TestTypeName for test in tests" ng-change="updateImageUrl(selectedTestType)">
<option value="">-- Select the test --</option>
</select>
</div>
</div>
<span style="color:red" ng-show="submitted == true && mainForm.testTypeSelect.$error.required"> Type is required</span>
<div class="row">
<div >
<label>Name :</label>
</div>
<div>
<input type="text" required ng-model="testName" name="testName" />
</div>
</div>
<input type="submit" value="Submit" ng-click="submitted=true" />
//
$scope.add = function() {
$scope.init();
alert("hi");
$scope.addData();
};
controller.js
では、この問題を解決する方法は? ありがとう
への変更は無効である形態であってもよいです。あなたは条件を作り、フォームタグのng-submitでmainForm。$ validを削除しようとしました。フォームを有効にするには、alidデータを入力してください –
角度インスペクタを使用して、フォームの$ valid属性を確認してください – Mikkel
plunkrを追加できますか? –