2017-01-03 12 views
0

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

+1

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 –

+0

Verwenden Sie den Angular Inspector, um das $ valid-Attribut des Formulars anzuzeigen – Mikkel

+0

können Sie plunkr hinzufügen? –

Antwort

0

Ihr Controller ist inject nach Form-Tag, add() Funktionsaufruf ist aus Controller injizieren.

<form name="mainForm" id="createForm" ng-submit="mainForm.$valid && add()" novalidate> 
<div ng-controller="testController" ng-init="init()"> 

Änderung

<div ng-controller="testController" ng-init="init()"> 
<form name="mainForm" id="createForm" ng-submit="mainForm.$valid && add()" novalidate> 
+0

Versucht, dass .. das gleiche Problem existiert – venkat14

Verwandte Themen