[gelöst]Wie erstellt man einen Datepicker
Eingetragen von Ati (210)
am 28.02.2011 - 11:55 Uhr in
am 28.02.2011 - 11:55 Uhr in
Hallo zusammen,
ich stehe mir mal wieder selbst im Weg. Ich möchte in einem Formular ein Textfeld platzieren, wo ein Datum eingegeben werden muss.
Ich meiner "hangemachten" Version habe ich das per JS gelöst. Die Suche hat mich zum Thema jQuery gebracht, wo ich allerdings nur
Bahnhof verstehe. Kann mir a) jemand kurz Schildern wie ich nun ein Datepicker erstellen kann und hat b) jemand ein verständliches Tutorial zum Thema
Drupal+jQuery für mich. Was ich bisher gefunden habe verwirrt mich mehr als das es hilft.
Danke im voraus.
Ati
- Anmelden oder Registrieren um Kommentare zu schreiben
Datepicker
am 28.02.2011 - 11:59 Uhr
Hallo.
Das Modul [do:date Date] bietet in Verbindung mit [do:jquery_ui jQuery UI] schon ein Datumsfeld mit Datepicker. Kein Grund, das selbst zu bauen :).
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Nun das hab ich auch schon
am 28.02.2011 - 12:23 Uhr
Nun das hab ich auch schon installiert aber ich bekomme die praktische Umsetzung nicht hin...peinlich ich weiß.
Ich bin nicht doof....ich denk nur anders
Datepicker
am 28.02.2011 - 12:59 Uhr
Woran genau scheitern Deine Versuche denn bisher?
Nach der Installation von Date und jQueryUI (Anleitung in der beiliegenden README.txt) kannst Du einem Inhaltstypen einfach ein Datums-Feld Popup hinzufügen.
Screenshot: http://screencast.com/t/vuwGYmVv
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Das hatte ich ja, wie in
am 28.02.2011 - 13:13 Uhr
Das hatte ich ja, wie in Deinem Link beschrieben, auch schon versucht. Im Anhang mal mein erstelltes Feld.
Naiv wie ich nunmal bin hatte ich mir dann gedacht ich könnte das wie folgt in meinem Formular einbauen.
$form['datums'] = array(
'#type' => 'mydatepicker',
'#title' => t('Datum'),
'#required' => TRUE,
);
Wenn ich dann das Formular aufrufe erhalten ich einen wunderbaren Submit-Button aber keinen Datepicker.
Liegt also wohl an meiner Denkweise.
Ich bin nicht doof....ich denk nur anders
Forms API
am 28.02.2011 - 13:25 Uhr
$form['datums'] = array(
'#type' => 'mydatepicker',
'#title' => t('Datum'),
'#required' => TRUE,
);
Moment. Was willst Du da eigentlich tun? Willst Du über Code ein Formular erzeugen mit einem Datepicker? Der Screenshot zeigt ein CCK-Feld. Dein Code zeigt einfach nur ein Array. Den Typ "mydatepicker" gibt es nämlich nicht: http://api.drupal.org/api/drupal/developer--topics--forms_api_reference....
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ähm ja ich wollte selber ein
am 01.03.2011 - 14:55 Uhr
Ähm ja ich wollte selber ein Formular erstellen, mit diversen Text bzw. Datumsfeldern. In der fertigen Version sollen diese Eingaben dann noch per Mail verschickt werden. Ich bin auf diese Schnapsidee gekommen, weil folgender Code ja eg schon ein Popup-Kalender erzeugt...welcher nur nicht besonder schön ist.
$form['datums'] = array(
'#type' => 'date_popup',
'#title' => t('Datum'),
'#required' => TRUE,
);
Das sieht dann wie im Anhang aus.
Ich bin nicht doof....ich denk nur anders
So ich habe mal versucht in
am 01.03.2011 - 15:00 Uhr
So ich habe mal versucht in meinem "Oberstübchen" den Reset-Knopf zu drücken.
Ich bin jetzt wie folgt vorgegangen. Ich habe ein Javascript-Datei erzeugt die jetzt wie folgt aussieht:
(function($){
$(document).ready(function() {
$('#edit-datums').datepicker();
});
}) (jQuery);
In meinem Module habe ich folgende Zeilen eingefügt:
drupal_add_js(drupal_get_path('module', 'my_module') .'/script.js');
jquery_ui_add('ui.datepicker');
Firebug meldet endlich keinen Fehler mehr (Problem saß natürlich vor dem PC). Jetzt passiert folgendes...wenn ich meine Seite aufrufe ist erstmal nichts.
Gehe ich mit alt+tab weiter und dann wieder zurück erscheint der von mir gewünschte Kalender. Es kann also nur noch eine Klitzekleinigkeit sein.
Ich bin nicht doof....ich denk nur anders
(function($){$(document).read
am 01.03.2011 - 16:05 Uhr
(function($){
$(document).ready(function() {
$("#edit-datums").datepicker({closeAtTop:false ,dateFormat: 'dd.mm.yy'});
});
}) (jQuery);
So sieht jetzt meine Javascript-Datei aus und es funktioniert.
Ich bin nicht doof....ich denk nur anders