JavaScript in Edit-Formularen

  • Hallo,

    ich habe folgendes Problem: Im Edit-Formular eines ContentTypes habe ich eine Auswahlliste. Darunter befinden sich paar Checkbox Widgets.
    Ich möchte nun, je nach Auswahl aus dem Dropdown Menü, dass sich die Checkboxen automatisch "ankreuzen" ohne, dass
    sich die Seite ganz neu laden muss. Ich weiß, dass dafür Javascript nötig ist, jedoch habe ich keine Ahnung, wie und wohin
    ich diesen Code in meinem Produkt packen muss.
    Ich hoffe ihr könnt mir helfen. Es muss eine Möglichkeit geben.

    lg alex

  • Hallo Alex,

    deine Frage ist leider nicht 100 % ausdefiniert, bzw. präziese verständlich. Du möchtest in einem Edit-Formular Checkboxen automatisch sich ankreuzen lassen, wenn bestimmte Voraussetzungen erfüllt sind. Die Frage, was für ein Editformular meinst du? Ein Editfomular für ein Standard oder vom Standard abgeleiteten Inhaltstypen (Content-Type), dann ist die Unterscheidung zwischen Archetypes und Dexterity wichtig. Alternative kann auch die Bearbeitung eines Formulars (z.B. z3c.form, PloneFormGen) verstanden werden. Hier kann es bei der späteren Umsetzung zu minimalen Unterschieden kommen.

    Der Grundansatz ist es in einem eigenen Produkt, als BrowserResource oder statischer Resource ein JavaScript anzulegen, dass diese Funktionalität bereitstellt und dieses via GenericSetup als JavaScriptResource global einzubinden, ggf. mit der Einschränkung das es nur im Edit-Modus aktiv wird. Damit wird dieses JavaScript jedesmal wenn dein Edit-Formular geladen wird auch geladen. Mit JQuery Funktionen kann man dann zum Beispiel Aktionen erst nach dem Laden der Seite, beim Anklicken bestimmter Felder oder zum Absendezeitpunkt umdefinieren.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller

  • naja ich habe einen Content-Typ mithilfe des SchemaExtender um paar Checkbox-Felder erweitert.
    Diese Checkboxen sollten automatisch angekreuzt werden, je nach Auswahl der DropDown-Liste.
    Ich rede hier nur über den "Edit"-Bereich, d.h. wenn man einen CT hinzufügen will.

  • Hallo,

    ok das heisst du willst das base_edit formular eines AT (Archetype)-Content-Types veränderen.

    Der Ansatz den ich beschrieben habe würde in diesem Fall genau passen. Ein JavaScript registrieren das diese Tätigkeit macht und nur für den Edit fall aktivieren.

    Gruss Pumukel

    Die beste Informationsquelle sind Leute, die versprochen haben, nichts weiterzuerzählen.

    Marcel Mart
    frz. Schriftsteller