2017-05-14 2 views
0

Ich benutze materializecss und mein Projekt verwendet angularjs als auch.Ich habe eine Form, die wie folgt aussieht. Beide HTML und Js sind angehängt.Das Problem ist, dass, wenn ich drücke submit keine Daten aus übergeben Die entsprechende Add-Funktion wird aufgerufen. In der Konsole wird angezeigt, dass der Variablentest {} nach stringify ist. Ich verstehe nicht warum. Bitte helfen. Jede Hilfe wäre willkommen. (Ich habe ng-app in der Hauptdatei definiert .Havent angebracht, dass hier)Materializecss Formular mit angularjs nicht senden

app.controller("MyAddController", function($scope, $http) { 
 
\t $scope.test = {}; 
 
    $scope.add = function() { 
 
    \t console.log("------------>"+JSON.stringify($scope.test)); 
 
    \t $http({ 
 
    \t  url: "rest/leave/create", 
 
    \t  method: "POST", 
 
    \t  data: JSON.stringify($scope.test), 
 
    \t  headers: {'Content-Type': 'application/json'} 
 
     
 
     }).success(function(data, status, headers, config) { 
 
      if (data) { 
 
       $scope.data = data; 
 
       alert("success"); 
 
      } 
 
     }).error(function(data, status, headers, config) { 
 
      alert("error"); 
 
     }) 
 
    } 
 
});
<!-- Modal Structure --> 
 
    <div id="modal1" class="modal" ng-controller="MyAddController"> 
 
    <div class="modal-content"> 
 
     <h4>Apply Leave</h4> 
 

 
     <div class="row"> 
 
     <form class="col s12"> 
 
      <div class="row modal-form-row"> 
 
      <div class="input-field col s6"> 
 
       <input id=num" type="text" class="validate" ng-bind="test.num"> 
 
       <label for="num">num</label> 
 
      </div> 
 
      
 
      <div class="input-field col s6"> 
 
       <input id="ename" type="text" class="validate" ng-bind="test.Title"> 
 
       <label for="ename">Employee Name</label> 
 
      </div> 
 
      
 
      </div> 
 
      
 
      <div class="row modal-form-row"> 
 
      <div class="input-field col s5"> 
 
       <input id="startDate" type="text" class="validate" value="{{selectionDate.startdate}}" ng-bind="test.StartAt"> 
 
       
 
      </div> 
 
      
 
      <div class="input-field col s5"> 
 
       <input id="endDate" type="text" class="validate" value="{{selectionDate.enddate}}" ng-bind="test.EndAt"> 
 
       
 
      </div> 
 
      
 
      <div class="input-field col s2"> 
 
       <p> 
 
     \t \t <input type="checkbox" id="test6" value="yes" ng-bind="isFull"/> 
 
     \t \t <label for="test6">Half Day</label> 
 
    \t \t \t </p> 
 
      </div> 
 
      
 
      </div> 
 
      <div class="row"> 
 
      <div class="input-field col s12"> 
 
       <input id="description" type="text" class="validate" ng-bind="test.Description"> 
 
       <label for="description">Description</label> 
 
      </div> 
 
      </div>    
 
     </form> 
 
     </div> 
 
    </div> 
 
    <div class="modal-footer"> 
 
     <button class="btn waves-effect waves-light" type="submit" ng-click="add()" name="action">Submit 
 
    <i class="material-icons right">send</i> 
 
    </button> 
 
    </div> 
 
    </div> 
 

Antwort

0

ändern ng-bind zu ng-Modell für Zwei-Wege-Datenbindung --- Ansicht

an der Steuerung und Sie sind auch Zitate in

<input id=num" type="text" class="validate" ng-bind="test.num"> 

Plunker

+1

fehlen, die dumm von mir war. Habe es nur nicht bemerkt. Du weißt wie es ist. Danke :) –