2016-05-06 5 views
0

Ich möchte DateTime-Local Datum Datum Zeit für 2 Daten eingeben. Erste Datumseingabe (id = 'fd'):ein Datum nach dem anderen im datetime-lokalen Format

<input type="datetime-local" id='fd' name="firstDate"> 
<script> 
var date = new Date(), 
fd = document.getElementById('fd'); 
fd.value = date.toISOString(); 
</script> 

und ich möchte das zweite Datum (id = 'sd') Eingabefeld:

<input type="datetime-local" id='sd' name="secondDate"> 

nur Werte (Daten), die erlauben, sind nach erstes Datum (id = 'fd'). Jede Hilfe wäre willkommen.

Antwort

0

Die Verwendung von JQuery könnte Ihnen vielleicht helfen. Sie können mit dieser Validierung weitere Aktionen ignorieren.

var date = new Date(); 
var fd = document.getElementById('fd'); 
fd.value = date.toISOString(); 

$(document).ready(function() { 
    $('#sd').focusout(function() { 
    var sdVal = $(this).val(); 
    if (sdVal > fd.value) 
     alert("Dude! I'm bigger than you!"); 
    }); 
}); 
+0

Vielen Dank, aber ich kann das zweite Datum als früher als das erste Datum eingeben – Aleksandar

0

Anhören change Fall fd und setzen min Attribut sd. Wir können erwarten, dass Browser es Benutzern nicht erlauben, frühere Daten anzugeben. (Ich fand Desktop-Chrome Daten angeben früher ermöglicht als min Attribut. Also wir valueAsNumber vergleichen müssen auf einreichen, oder zu ermöglichen, interaktive Formularvalidierung.)

document.querySelector('#fd').addEventListener('change', function(event) { 
    if (event.target.value.length == 0) 
     return; 
    // Allow one minute after the first date, or later. 
    var min = event.target.valueAsNumber + 60 * 1000; 
    var minString = new Date(min).toISOString(); 
    // Remove ':ss.sssZ'. 
    minString = minString.substr(0, minString.length - 8); 
    document.querySelector('#sd').min = minString; 
}, false); 

Wir müssen von Fall kümmern, wenn ein Benutzer eine spezifiziert Datum für sd zuerst.