Ich habe ein Formular mit mehreren Steuerelementen, in denen ich die erforderliche Feldüberprüfung eingestellt habe. Wenn die Daten korrekt sind, möchte ich die Übermittlungsschaltfläche aufrufen. Aber selbst wenn alle Daten gefüllt sind und auf Senden klicken, wird die Schaltfläche nicht aufgerufen. Im Folgenden wird der Beispielcode verwendet:Schaltfläche zum Senden wird nicht aufgerufen - 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" />
// In controller.js
$scope.add = function() {
$scope.init();
alert("hi");
$scope.addData();
};
Wie dieses Problem beheben? Danke
kann die Form ungültig ist. Sie haben eine Bedingung erstellt und versuchen, mainForm. $ Valid in ng-submit des Formular-Tags zu entfernen. Wenn Sie möchten, dass das Formular gültig ist, geben Sie alid data ein –
Verwenden Sie den Angular Inspector, um das $ valid-Attribut des Formulars anzuzeigen – Mikkel
können Sie plunkr hinzufügen? –