11

Hier ist meine Website: http://splash.inting.org/wp/Bootstrap Datumsauswahl (Texteingabe vermeiden oder beschränken manuelle Eingabe)

ich zur Zeit die Bootstrap Datepicker (range branch) für mein Anruf Feld Datum verwenden und es ist großartig.

Obwohl ich 2 Probleme:

1) Sie können manuell Strings in das Eingabefeld ein. Dies ist seltsam, da die original by eyecon es nicht erlaubt, indem Sie das aktuelle Datum eingeben, wenn Sie Nicht-Datumswerte eingeben. Ich habe das Attribut readonly ausprobiert und es scheint nicht zu funktionieren, da es Ihnen nicht erlaubt, ein Datum auszuwählen.

2) Ich habe die Datumsauswahl auf Dienstag und Donnerstag beschränkt, indem ich eine Antwort in another post geändert habe. Nach dem Laden des Datumsspeichers ist das gewählte Standarddatum das aktuelle Datum, das ein anderer Wochentag sein kann. Ich möchte das vermeiden und habe nur entweder dienstags oder donnerstags gewählt.

+0

Ihre Website ist down – Trevor

Antwort

2

Mit dem Nur-Lese-Attribute und fügt ein Add-on, nachdem das Eingangselement das Datumsauswahl nach der Eingabe auszulösen:

<input type="text" name="CallDate" value="" id="CallDate" class="wpcf7-form-control wpcf7-text wpcf7-validates-as-required input-medium date date-pick" size="40" readonly> 
<span class="add-on"><i class="icon-calendar"></i></span> 

die funktionieren soll.

Für das zweite Problem könnten Sie eine modifizierte Version des Datepicker von hier verwenden: https://github.com/eternicode/bootstrap-datepicker und verwenden Sie die Option daysOfWeekDisabled

65

Überschreiben Sie die wichtigsten Ereignisse auf der Eingangskontrolle.

<input onkeydown="return false" ... /> 
+1

Perfekte Antwort :) –

+0

Die beste Antwort aller ähnlichen Fragen zu. Wenn Sie readonly oder disabled machen, verhindert dies, dass der neue HTML-Eingabetyp date die integrierte Datumsauswahl des Browsers anzeigt. Diese Methode ermöglicht die Standard-Browser-Erfahrung, verbietet aber manuelle Eingaben! –

+0

Vielen Dank ... es funktioniert ..... –

1

konnte ich akzeptable Lösung wie folgt erhalten:

$(".date").datetimepicker({ 
    defaultDate: moment(), 
    format: 'YYYY-MM-DD' 
}).end().on('keypress paste', function (e) { 
    e.preventDefault(); 
    return false; 
}); 

Hoffe, dass es auch für Sie funktioniert!

+0

'keypress' berücksichtigt den Lösch-Key nicht ... Ich habe stattdessen' keydown' verwendet und die Ausführung der Aktion auf dem Tab verhindert (keycode = 9) und zurück (Schlüsselcode = 13) Schlüssel. – Pablo

Verwandte Themen