1

Nachdem ich eine Weile versucht habe, den datetimepicker herauszufinden, bin ich kaum näher dran, den Grund für dieses Problem zu finden. Das Problem ist, dass mein datetimepicker übergebener Formularwert niemals konsistent mit dem angezeigten Datum ist. Ich habe das Datum im Format DD/MM/YYYY und wünsche, dass alle Datumseingaben (sowohl geschrieben als auch über Kalender ausgewählt) diesen Wert haben. Das übermittelte Datum liegt jedoch in dem Format vor, in dem der Benutzer schreibt, oder im Format YYYY-MM-DD, aber nicht konsistent.DateTimePicker Wert ist nicht konsistent mit angezeigtem Datum

Aus diesem Grund kann ich das angegebene Datum nicht wirklich verwenden, da es bei der Verwendung von strtotime und so weiter in das falsche Datum formatiert wird.

Ich habe Datetime folgt hinzugefügt:

<input type='text' class="form-control" id='datetimepicker1' name="birthday" ng-model="signUpInfo.birthday" placeholder="Fødselsdato" required="true"> 

<script type="text/javascript"> 
    $(function(){ 
     $("#datetimepicker1").datetimepicker({ 
      format: 'DD/MM/YYYY', 
      minDate: moment().subtract(140,"years"), 
      maxDate: moment() 
     }); 
    }); 
</script> 

Wenn ich schreibe : 01.01.17 -> Formate in 01/01/2017 korrekt -> Back-End empfängt 01.01.17.

Wenn ich schreiben: 01/01/2017 -> Formate in 01/01/2017 korrekt -> Back-End empfängt 01/01/2017.

Wenn ich wählen : 01/01/2017 -> Formate in 01/01/2017 korrekt -> Back-End erhält nichts.

Also das angezeigte Format ist korrekt, aber nicht der Wert eingereicht, wie kommt?

+0

zwingende Sie die von der Form einreichen und Daten bekommen, sich irgendwie? –

+0

@AlexandruSeverin Das Formular wird nicht überschrieben, der einzige "Override" ist immer dann, wenn der Benutzer selbst ein Datum in das Eingabefeld eingibt, aber datetimepicker formatiert dies korrekt in der Anzeige, aber nicht im Wert. – PhyCoMath

+0

Ich kann Ihr Problem nicht replizieren. Versuchen Sie diese jsfiddle: https://jsfiddle.net/0Ltv25o8/4390/. Importieren Sie Ihre eigene Version von datetimepicker. Vielleicht können Sie das Problem reproduzieren oder die Antwort finden, während Sie versuchen. –

Antwort

2

Sie müssen ein Change-Event auslösen, nachdem datetimepicker das Datumsformat geändert hat, um Ihre Scope-Variablen zu aktualisieren.

$('#datetimepicker1').trigger('change') 

Sie können diese Bindung an die ‚dp.change‘ Datetime Ereignis Bootstrap

$('#datetimepicker1').on('dp.change', function (ev) { 
    $('#datetimepicker1').trigger('change') 
}); 
+0

Das hat perfekt funktioniert! Warum hat datetimepicker dieses gebaute Gasthaus nicht? Wer möchte das Datumsformat NUR für die Anzeige verwenden? – PhyCoMath

+0

Datetimepicker verwendet jQuery. Der Rest ist AngularJS. Es würde die Daten korrekt als reine HTML-Formulareingabe senden, aber nicht zusammen mit AngularJS. – pixelarbeit

Verwandte Themen