2016-07-20 7 views
0

HTML CODEng-Modell und ng-Wert für das einzelne Eingabefeld gesetzt

<div> 
    <label for="date">Update Time:</label> 
    <input id="date" ng-model="formData.Updt_Time" ng-value="ts"> 
</div> 

Hier i ng-Modells und ng-Wert in das Eingabefeld da im zuweisen den Wertes versuchen (ng-value = "ts") diese ts würde von meinem Controller kommen, und ich muss die Daten in FormData speichern. Auf dem Formular submit werde ich alle Werte aus dem set formData in mySQL einfügen.

Steuerungskode

clientApp.controller('formCtrl',function($scope,$http){ 
    $scope.statuses = ["Active", "Inactive"]; 
    $scope.cluster = ["East Coast","West Coast","PayPal"] 
    // Update Date 
    var currentTime = new Date() 
    var yr=currentTime.getFullYear() 
    var mnth=currentTime.getMonth() 
    var dt=currentTime.getDate() 
     if (mnth < 10) { 
     mnth = "0" + mnth 
     } 
     if (dt < 10) { 
     dt = "0" + dt 
     } 

    var hours = currentTime.getHours() 
    var minutes = currentTime.getMinutes() 
    var seconds = currentTime.getSeconds() 

    if (minutes < 10) { 
     minutes = "0" + minutes 
    } 
    if (seconds < 10) { 
     seconds = "0" + seconds 
    } 
    $scope.ts = yr + "-" +mnth+ "-" + dt + " " + hours + ":" + minutes + ":" + seconds + " "; 
    //when submit button is clicked 
    $scope.submit = function() { 
      alert("Submit Clicked"); 
      $http.post('/clientPost', $scope.formData).success(function(response) { 
       console.log('Data posted successfully'); 
      }) 

        .error(function(data){ 
          console.log("There is an error"); 
          console.log('Error: ' + data); 
        }); 
    }; 
}); 

Wie auch immer die ng-Modell und ng-Wert scheint nicht zusammen zu arbeiten. Gibt es einen Workaround?

+0

Setzen Sie den Eingabemodellverweis auf $ scope, wie

Antwort

2

Zuerst habe ich ein paar Empfehlungen:

  • Sie sollten mit dem ‚Controller als‘ Schreibweise in Winkeln beginnen, wie es besser lesbar ist und nicht den $ scope verunstaltet. (Schauen Sie sich John Papas Styleguide an, um besseren Code schreiben zu können: https://github.com/johnpapa/angular-styleguide/blob/master/a1/README.md)
  • Wenn Sie etwas mit Daten machen wollen, empfehle ich die Verwendung der moment.js-Bibliothek, die Sie vor dem Ärger des Datums retten wird. Objekt in Javascript. Jetzt

, von dem, was ich aus Ihrer Frage verstehen, versuchen Sie, den Wert der Textbox, um das formatierten Datum sein, die Sie in dem variablen ts gespeichert.

Um den Wert des Textfelds und auch den Wert des Modells festzulegen, können Sie einfach den Wert ts direkt an das Modell setzen. Angular würde dann den Wert des Textfelds aktualisieren.

HTML 
<div> 
    <label for="date">Update Time:</label> 
    <input id="date" ng-model="formData.Updt_Time"> 
</div> 


JAVASCRIPT 
... 
var ts = yr + "-" +mnth+ "-" + dt + " " + hours + ":" + minutes + ":" + seconds + " "; 
$scope.formData.Updt_Time = ts; 
... 
Verwandte Themen