Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Module › Modul-Entwicklung ›

[gelöst] JS für Formular-Label entfernen

Eingetragen von Exterior (2903)
am 02.01.2011 - 02:12 Uhr in
  • Modul-Entwicklung
  • Drupal 6.x

Hi Leute, ich stehe gerade irgendwie auf dem Schlauch -,-'

Ich habe in einem Modul mittels Form API ein Textfeld integriert, in welches ein Datum eingegeben werden soll.

Um es dem Nutzer einfacher zu machen, habe ich noch einen jQuery-Datepicker eingebunden, welcher bei einem Klick in das Feld öffnet. Das funktioniert soweit auch alles problemlos.

Das Problem ist nun folgendes:
Für das Formular liefert Drupal diesen HTML-Code:

<div id="edit-datum-wrapper" class="form-item">
<label id="label-edit-datum" for="edit-datum">Datum: </label>
<input type="text" class="form-text mymodule-has-datepicker hasDatepicker" value="02.01.2011" size="60" id="edit-datum" name="datum" maxlength="128">
<div class="description">Beschreibung</div>
</div>

Wenn man nun auf das Label über dem Feld klickt, öffnet sich der Datepicker ebenfalls! Und ich habe gerade keine Ahnung, wie ich das umgehen kann. Der Container für das Label hat leider eine Breite von 100%. Das heißt, wenn man irgendwo auf Höhe des Labels ins Leere klickt, öffnet sich der Datepicker.

Ich habe jetzt schon versucht, den Labels über theme_form_element eine ID zu geben (siehe Code oben) und wollte dann in der JS-Datei ein $('#label-edit-datum').unbind() machen, aber das hat nicht funktioniert.

Ich könnte natürlich über die ID die Breite des Label-Containers reduzieren, damit das Problem nicht mehr auftaucht, dass man ins Leere klickt und der Datepicker ploppt auf. Aber mir wäre es lieber, wenn bei einem Klick auf das Label schlicht gar nichts passiert.

Weiß jemand weiter? Ich bin nämlich gerade mit meinem Latein am Ende :(

‹ Form API - Eingaben von außen lesen [gelöst] Theme_hook($node) lädt nicht das Node-object ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Label

Eingetragen von stBorchert (6003)
am 02.01.2011 - 11:37 Uhr

Hallo.

Exterior schrieb

Wenn man nun auf das Label über dem Feld klickt, öffnet sich der Datepicker ebenfalls!

Ja, das ist auch korrekt so. Ein Klick auf ein Label, welches an ein Textfeld "gebunden" ist, entspricht einem Klick direkt in das Feld.
Wenn Du das Attribut for aus der Definition des Labels entfernst, ist das Label auch nicht mehr an das Textfeld gebunden und Ereignisse des Feldes werden nicht mehr bei einem Klick auf das Label ausgeführt.
Eventuell funktioniert das auch schnell und einfach über js:

$('#label-edit-datum').removeAttr('for');

hth,

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Cool, danke :) Da könnte ich

Eingetragen von Exterior (2903)
am 02.01.2011 - 18:53 Uhr

Cool, danke :) Da könnte ich das for auch gleich in der Theme-Funktion raus nehmen.

Momentan habe ich es so gelöst:

$('#label-edit-datum').click(function() { return false; } );

Funktioniert auch, aber evtl. werde ich doch den Weg gehen, das for-Attribut zu entfernen. Hätte das sonst noch irgendwelche Auswirkungen? Benötigt Drupal das for-Attribut allgemein für etwas?

  • Anmelden oder Registrieren um Kommentare zu schreiben

HTML-Attribut

Eingetragen von stBorchert (6003)
am 02.01.2011 - 18:59 Uhr
Exterior schrieb

Benötigt Drupal das for-Attribut allgemein für etwas?

Nein, das ist reines HTML und wird auch nur für die Zuordnung des Labels zum entsprechenden Feld verwendet. Drupal hat damit rein gar nichts zu tun.

 Stefan

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ok, vielen Dank :)

Eingetragen von Exterior (2903)
am 02.01.2011 - 19:05 Uhr

Ok, vielen Dank :)

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • Dynamische Ansicht von Seiteninhalt (als Tabelle?)
  • Vergabe von Berechtigungen für bestimmte Rollen; mir fehlt der Haken bzw. das „Veröffentlicht“
  • Ich brauche dringen Hilfe zu Updates oder ggf. wwie geht Composer?
  • Medien und andere Daten mit Feeds von Drupal 7 auf Drupal 10 migrieren
  • Rolle erstellen nicht zu finden
  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
Weiter

Neue Kommentare

  • Arrrrg. Nix Tabelle :-D /*
    vor 2 Tagen 23 Stunden
  • Textboxen mit Tabelle
    vor 3 Tagen 5 Stunden
  • Du sollst ja auch keine
    vor 3 Tagen 5 Stunden
  • Theme
    vor 3 Tagen 6 Stunden
  • Welches Theme benutzt du
    vor 3 Tagen 12 Stunden
  • Mit Responsive Raster hatte
    vor 4 Tagen 2 Stunden
  • Hallo Alex,um das Häkchen
    vor 4 Tagen 10 Stunden
  • Modul view_unpublished
    vor 5 Tagen 14 Stunden
  • Modul "override node options"
    vor 6 Tagen 8 Stunden
  • Im Grunde ist dass ein
    vor 1 Woche 1 Tag

Statistik

Beiträge im Forum: 250270
Registrierte User: 20477

Neue User:

  • Robertnobia
  • AltonRaf
  • JeffreyPaf

» Alle User anzeigen

User nach Punkten sortiert:
wla9463
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 7 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association