[JavaScript] Formularelement ausklappen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [JavaScript] Formularelement ausklappen

    Hallo erstmal!

    Ich möchte ein Formular erstellen, in dem nicht nur allgemeine Benutzerdaten, wie Name, Vorname usw. eingebbar sein sollen, sondern zusätzlich noch eine variable Anzahl von absolvierten Praktika.

    Hier liegt mein Problem, da es Benutzer geben wird, die kein Praktikum eintragen möchten und es wird andere geben, die vielleicht eins oder mehrere Eintragen. Deshalb dachte ich mir, dass man gut mit einem Link "Praktikum hinzufügen" arbeiten könnte, bei dessen Betätigung ein weiteres Formularelement hinzugefügt wird, bei einem zweiten Klick noch eins usw.

    Das soll ungerne durch ein Neuladen der Formularseite geschehen.

    Hat jemand ne Idee, wie ich das realisieren könnte? Vielleicht ne JavaScript-Funktion, die beim Onclick_Event auf "Praktikum eintragen" ausgeführt wird? Oder mit JavaScript auf ein mit CSS unsichtbar gemachtes Formularelement sichtbar machen? Bloß dann kann ich ja nur ein Praktikum eingeben.

    Bin sehr dankbar für Denkanstöße bzw. Codeschnipsel

    LG Mario

  • #2
    Das wird imho ohne neuladen nicht funktionieren. ich würde das folgendermaßen machen:[list=1][*]formular mit einem feld für praktikum erstellen[*]button oder link mit 'weiteres praktikum hinzufügen' dazu[*]beim absenden bisherige, eingegebenen daten mitschicken[*]neues feld dazu[*]ect. pp[/list=1]

    Kommentar


    • #3
      natürlich geht das mit js. z.b mit appendChild, childNodes, setAttribute, etc.

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        Danke schon mal!

        Mit folgendem Code bekomme ich schon fast das hin, was ich gesucht habe:


        Code:
        <script type="text/javascript">
        function AddPraktikum()
        {
        	var newTextarea = document.createElement("textarea");
        	var newTextareaText = document.createTextNode("Das ist eine Textarea");
        	
        	document.getElementById("Form1").appendChild(newTextarea);
        	document.getElementsByTagName("textarea")[0].appendChild(newTextareaText);
        	
        }
        </script>
        </head>
        
        <body>
        <form action="" name="Form1" id="Form1">
        
        <p><a href="#" onclick="AddPraktikum()">Praktikum hinzuf&uuml;gen</a></p>
        
        </form>
        Leider wird das Element unter den Link eingefügt, schöner wäre es, wenn die neue Textarea über dem Link eingefügt werden würde, ist das möglich?

        Warum wird der bei AddPraktikum() hinzugefügte Knoten nicht im Quelltext angezeigt? Kann man sich diesen irgendwo ansehen?

        Mit createAttribute() / setAttributeNode() kann ich dem Element anscheinend Attribute hinzufügen / setzten.

        Gibt es noch eine elegantere Lösung?

        LG Mario

        Kommentar


        • #5
          Leider wird das Element unter den Link eingefügt
          daher auch appendChild, das heißt hinzufügen. pack den link über das form oder legt im form ein weitere id-element unterhalb des links an
          Warum wird der bei AddPraktikum() hinzugefügte Knoten nicht im Quelltext angezeigt?
          weil das javascript ist, da kannst du die änderungen im quellcode nicht sehen.

          gruß
          peter
          Zuletzt geändert von Kropff; 25.04.2007, 20:48.
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            Wenn ich mich recht erinnere, dann ging das mit markieren (ggf. Strg + A) -> Rechtsklick -> Auswahl-Quelltext anzeigen im Firefox.
            ich glaube

            Kommentar


            • #7
              super, vielen dank für die Hilfe!

              Kommentar


              • #8
                Wenn ich mich recht erinnere, dann ging das mit markieren (ggf. Strg + A) -> Rechtsklick -> Auswahl-Quelltext anzeigen im Firefox.
                ups, das kannte ich auch noch nicht. vielen dank für den tipp.

                gruß
                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  ich empfehle in diesem zusammenhang das webdeveloper plugin für firefox, der zeigt den "normalen" und den generierten quelltext an (plus etliche funktionen mehr versteht sich)
                  Die Milch bleibt ranzig!

                  Kommentar


                  • #10
                    Original geschrieben von RanzigeMilch
                    ich empfehle in diesem zusammenhang das webdeveloper plugin für firefox, der zeigt den "normalen" und den generierten quelltext an (plus etliche funktionen mehr versteht sich)
                    OffTopic:
                    hattte ich mir mal installiert, danach war mein firefox nicht mehr derselbe


                    gruß
                    peter
                    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                    Meine Seite

                    Kommentar


                    • #11
                      OffTopic:
                      is klar weil da ne toolbar hinzugefügt wird. ansonsten wird der ff nicht verändert...
                      Die Milch bleibt ranzig!

                      Kommentar


                      • #12
                        OffTopic:
                        ich meine damit solche dinge wie stabilität und geschwindigkeit


                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar

                        Lädt...
                        X