2015-09-16 7 views
23

ich unter HTML-Tag bin mit:HTML-Eingabezeit in 24-Format

<input type="time" /> 

In Chrome Sein Auftritt PM/AM-Format, können wir beschränken immer 24-Format angezeigt werden soll. Ich möchte nicht

+1

Vielleicht könnte [dies] (http://stackoverflow.com/questions/14772142/24-hur-time-regex-for-html-5) Post hilfreich sein. –

+0

Es scheint, dass "type = time" im Entwurfsmodus "immer noch" ist. siehe diese Frage http://stackoverflow.com/questions/31829783/in-different-browsers-input-time-field-shows-in-different-formats – Chris

+0

Da es ein ziemlich neues Element ist, und sich auf verschiedene Benutzer- Agent kann das Ergebnis dieses Elements ändern, meines Wissens gibt es kein Attribut zur Angabe des Formatdatums. Stattdessen finde ich etwas um 'max' und 'min' Wert für dieses Element. Vielleicht sollten Sie es versuchen und sehen, was passiert, wenn Sie Max auf 24: 00 einstellen. Weitere Informationen [hier] (http://www.w3schools.com/jsref/prop_input_time_max.asp) –

Antwort

12

Wie in this answer angegeben nicht alle Browser die Standard-Art und Weise unterstützen. Es ist keine gute Idee, für eine robuste Benutzererfahrung zu verwenden. Und wenn Sie es verwenden, können Sie nicht zu viel fragen.

Verwenden Sie stattdessen Zeitauswahlbibliotheken. Zum Beispiel: TimePicker.js ist eine Null-Abhängigkeits- und Lightweight-Bibliothek. Verwenden Sie es mögen:

var timepicker = new TimePicker('time', { 
 
    lang: 'en', 
 
    theme: 'dark' 
 
}); 
 
timepicker.on('change', function(evt) { 
 
    
 
    var value = (evt.hour || '00') + ':' + (evt.minute || '00'); 
 
    evt.element.value = value; 
 

 
});
<script src="http://cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.js"></script> 
 
<link href="http://cdn.jsdelivr.net/timepicker.js/latest/timepicker.min.css" rel="stylesheet"/> 
 

 
<div> 
 
    <input type="text" id="time" placeholder="Time"> 
 
</div>

+0

Grund für Down-Abstimmung. Hinweis: Wünschen Sie eine natürliche Antwort für diese Frage. Es könnte auch mit einer anderen Bibliothek gemacht worden sein, aber die Frage will natürlich und ohne Bibliothek. Bitte lesen Sie den gelben Abschnitt. – vijay

+0

hi, in Ihrem Beispiel gibt es eine Möglichkeit, den Benutzer daran zu hindern, anderen Text einzugeben ... im Moment ist er in der Lage, nicht numerische Elemente einzugeben! – transformer

1

Sie es mit dem HTML5-Eingabetyp nicht tun kann. Es gibt viele Bibliotheken, die dafür zur Verfügung stehen. Sie können momentjs oder andere jQuery UI-Komponenten für das beste Ergebnis verwenden.