Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Allgemeines zu Drupal ›

[gelöst]dynamisch Felder ein und ausblenden...how to?

Eingetragen von Maximus (129)
am 04.01.2014 - 12:03 Uhr in
  • Allgemeines zu Drupal
  • Drupal 7.x oder neuer

Hallo liebe Community,

ich bastle gerade an den Kontoeinstellungen und möchte folgendes erreichen:
Der User bekommt bei der Bearbeitung seines Profils eine Liste mit 5 Kontrollkästchen vorgesetzt bei denen er die zutreffenden Werte markiert.
Klickt er auf eines der Kästchen 2-4 soll jeweils direkt daneben ein zweites Options-Kästchen erscheinen bei denen der User auch noch anklicken kann.
Bei Kästchen 5 handelt es sich um "Sonstiges". Dort sollte dann dementsprechend kein weiteres Options-Kästchen erscheinen sondern ein kleines Textfeld um Sonstiges dementsprechend etwas zu spezifizieren...

Leider bin ich etwas ratlos, wie so etwas anzupacken ist.
Könnt Ihr mir hier weiterhelfen?

Vorab vielen Dank,

Maximus

‹ [gelöst] Bitte um Angebote für einen Online-Drupal Workshop [gelöst]dynamisch Felder ein und ausblenden...how to? ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

So was ähnliches habe ich mal

Eingetragen von tiger (415)
am 04.01.2014 - 12:44 Uhr

So was ähnliches habe ich mal mit Conditional Fields gelöst, allerdings noch mit D6

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, das wüde ich mit

Eingetragen von oteno (775)
am 04.01.2014 - 13:18 Uhr

Hallo,
das wüde ich mit Javascript lösen, am besten mit JQuery: 'Hidden' Felder bei Bedarf einblenden.
Den Event kannst Du an das Ausfüllen der Optionsfelder binden http://api.jquery.com/change/
Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

als erstes schonmal Danke!!

Eingetragen von Maximus (129)
am 04.01.2014 - 13:31 Uhr

Hallo!

hab mir grad das mit conditional fields angschaut und das sieht schonmal sehr gut aus!
Problem ist hald, dass ich für jede einzelne Ausprägung der Kontrollkästchen 2-4 wohl ein eigenes Feld anlegen muss, da ich keine Funktion finde wie ich einzelne Optionen dann einblenden lassen kann...aber grundsätzlich würde es so gehen, wenn auch nicht sehr elegant.

Ich habe das gleiche schonmal außerhalb Drupal mit javascript programmiert und dementsprechend würd ichs hier gern wieder so machen, nur wohin ich meinen Code in Drupal packen kann ist mir noch schleierhaft...schliesslich soll Drupal ja trotzdem dann alle Kästchen als solche erkennen und richtig abspeichern etc.
Ich schau mir mal deinen Link an Christian!

Vielen Dank schonmal!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo, hier noch zur

Eingetragen von oteno (775)
am 04.01.2014 - 13:34 Uhr

Hallo,
hier noch zur Info:
https://drupal.org/node/756722
Gruß

  • Anmelden oder Registrieren um Kommentare zu schreiben

dementsprechend dann im Modul user oder?

Eingetragen von Maximus (129)
am 04.01.2014 - 14:20 Uhr

Hallo oteno,

danke!!
Versteh ich das richtig, dass ich also am Besten ganz normal mit Drupal 4 Felder anlege (3 Optionsfelder, 1 Textfeld) und diese mit CSS rechts neben dem anderen Formular platzieren kann und per Javascript ein und ausblende?

Wenn es die Kontoeinstellungen betrifft, muss ich also das ganze im Modul user bearbeiten oder?

Vielen Dank und viele Grüße,

Maximus

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hallo,Zitat:Versteh ich

Eingetragen von oteno (775)
am 04.01.2014 - 15:16 Uhr

Hallo,

Zitat:

Versteh ich das richtig, dass ich also am Besten ganz normal mit Drupal 4 Felder anlege (3 Optionsfelder, 1 Textfeld) und diese mit CSS rechts neben dem anderen Formular platzieren kann und per Javascript ein und ausblende?

wenn es Deinen Anforderungen entspricht, würde ich es so machen.

Das Modul ist 'profile', nicht 'user', aber da muss Du ja nicht rein, das JS solltest Du ja einfach in Deienem Theme unterbringen können ohne Overwrites.
Der Konfigurations-Pfad, um neue Felder hinzuzufügen, lautet /admin/config/people/accounts/fields . Wenn es so nicht reicht kannst Du Dir mal Profiles2 ansehen.

Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

alles klar! ich setz mich ran!

Eingetragen von Maximus (129)
am 04.01.2014 - 15:24 Uhr

Vielen Dank Christian,

klingt gut! Ich probiers gleich mal aus!

Danke an alle!

  • Anmelden oder Registrieren um Kommentare zu schreiben

events an ein Drupal feld

Eingetragen von Maximus (129)
am 04.01.2014 - 15:31 Uhr

Hallo,

eine Frage dazu kommt mir jetzt grad doch noch...wo und wie pflege ich das onclick() event ein?

Grüße,

Maximus

  • Anmelden oder Registrieren um Kommentare zu schreiben

onclick() ist nicht schön,

Eingetragen von oteno (775)
am 04.01.2014 - 16:22 Uhr

onclick() ist nicht schön, benutze lieber .on http://api.jquery.com/on/
so irgendwie (nur grob skizziert) in einer js-Datei, die Du in Deinem Theme lädst:

(function($) {

  $(document).ready(function($) {
     $( "#<em>deineform</em>" ).on( "<em>click oder change oder sonst ein event</em>", <em>"deinform_element auf das geklickt wird oder das geändert wird</em>", function() {
        $( "#<em>deinhiddenfeld</em>" ).show();
     });
  });


}(jQuery));

Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

elemente bezeichnen

Eingetragen von Maximus (129)
am 04.01.2014 - 17:56 Uhr

vielen Dank Christian für deine Mühen!

ich stell mich allerdings bisschen blöd grad an auf diese weise events zu handlen...wahrscheinlich mache ich bei der bezeichnung irgendwas falsch:

(function($) {
  $(document).ready(function($) {
     $( "#edit-field-besetzung-und-1" ).on( "click", function() {
        alert("es funktioniert");
   });
}(jQuery));

was stimmt daran nicht? Ich wollte tesweise einfach mal nur bei einem klick auf das kästchen 2 (die id ist: "edit-field-besetzung-und-1")
probieren aber so ganz will das nicht funktionieren. habs auf etliche verschiedene andere arten probiert, aber es passiert nie was.
Sorry wenns was total offensichtliches ist...

Vielen Dank und viele Grüße,

maximus

  • Anmelden oder Registrieren um Kommentare zu schreiben

Wahrscheinlich hast Du eine

Eingetragen von oteno (775)
am 04.01.2014 - 18:57 Uhr

Wahrscheinlich hast Du eine ältere JQuery-Version (<1.7.7), die .on noch nicht kennt. Hätte ich vielleicht daran denken sollen...
Dann mach es mit click(). also:


$(document).ready(function($) {
     $( "#edit-field-besetzung-und-1" ).click(function() {
        alert("es funktioniert");
});

Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

Ich kann dir diesen Weg

Eingetragen von md (3717)
am 04.01.2014 - 19:02 Uhr

Ich kann dir diesen Weg definitiv nicht empfehlen. Um alles richtig zu machen ist weit mehr als jQuery Code zu beachten.
Z.B. ist 'edit-field-besetzung-und-1' nicht sprachunabhängig. Das mag jetzt in deinem Fall keine Rolle spielen, zeigt aber, dass das so nicht der richtige Drupal Weg ist.

Conditional Fields löst dein Problem, es gibt keinen Grund das Modul nicht zu nutzen und irgendwas 'zu basteln'.

  • Anmelden oder Registrieren um Kommentare zu schreiben

leider funktioniert da mehr nicht...

Eingetragen von Maximus (129)
am 04.01.2014 - 19:14 Uhr

selbst mit dem click() funktionierts leider nicht...
bisschen bitter, weil ich als drupal neuling gern ein paar dinge noch wie gewohnt per hand gemacht hätte bevor ich mich in dem ganzen modul-wald verlaufe =P

unabhängig ob ich jetzt conditional fields verwenden kann oder nicht würde mich dann doch interessieren an was bei mir das js scheitert...im seitenquelltext ist es verfügbar, syntax-fehler bemerke ich sonst auch keine...ich bin bisschen ratlos!

  • Anmelden oder Registrieren um Kommentare zu schreiben

ich habe dir nochmal den

Eingetragen von oteno (775)
am 04.01.2014 - 19:42 Uhr

ich habe dir nochmal den kompletten Code-Block reingestellt.

(function($) {
  $(document).ready(function($) {
       $( "#edit-field-besetzung-und-1" ).click(function() {
          alert("es funktioniert");
    });
});
}(jQuery));

schätze mal da fehlten Klammern...

Überlege DIr auch die Argumente von md.

Meine Meinung nach muss man nicht für alles ein Modul laden, und sollte auch mit Requests auf das System sparsam sein.

"Als Gebastel" würde ich den Einsatz von Javascript für solche Sachen nicht gerade bezeichnen.
Falls der Selektor irgendwie sprachabhäng ist oder an eine andere veränderbare Logik geknüpft ist, sollte man das natürlich berücksichtigen.

Gruß
Christian

  • Anmelden oder Registrieren um Kommentare zu schreiben

es klappt!

Eingetragen von Maximus (129)
am 04.01.2014 - 21:04 Uhr

nun endlich scheint es zu funzen! wunderbar!

nochmals vielen vielen Dank Christian!

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • 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
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 1 Tag
  • Hey danke
    vor 2 Wochen 2 Tagen
  • Update: jetzt gibt's ein
    vor 2 Wochen 3 Tagen
  • Hallo, im Prinzip habe ich
    vor 3 Wochen 9 Stunden
  • Da scheint die Terminologie
    vor 3 Wochen 12 Stunden
  • Kannst doch auch alles direkt
    vor 3 Wochen 4 Tagen
  • In der entsprechenden View
    vor 3 Wochen 4 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 4 Tagen
  • gelöst
    vor 6 Wochen 1 Tag
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 2 Tagen

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 26 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