Ankündigung

Einklappen
Keine Ankündigung bisher.

input-Felder mit JS-Funktion hinzufügen

Einklappen

Neue Werbung 2019

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

  • input-Felder mit JS-Funktion hinzufügen

    Hallo,

    ich möchte ein dynamisches Formular verwenden, um eine variable Zahl an Summanden eingeben zu können.
    Dazu habe ich breits einige Artikel gelesen. Teste ich mein Script aber, funktioniert das nicht.
    Habe schon die id- & name-Attribute überprüft, das müsste alles stimmen. Weiß nicht, wo genau der Fehler auftritt...

    Hier mein Code

    Code:
    <html>
    <head>
    <script type="text/javascript">
    
    function neuerSummand()
    {
    var input_a = document.createElement("input");
    var input_n = document.createElement("input");
    
    input_a.setAttribute("type","text");
    input_a.setAttribute("name","a[]");
    
    input_n.setAttribute("type","text");
    input_n.setAttribute("name","n[]");
    
    var form=document.getElementbyId("kurve");
    
    form.appendChild(document.createElement("<br>"));
    form.appendChild(input_a);
    form.appendChild(document.createElement("<br>"));
    form.appendChild(input_n);
    }
    
    </script>
    </head>
    <body>
    <form action="kurve.php" name="kurve" id="kurve" method="get">
    <input type="text" name="a[]" value="a" size="3"/>*x
    ^<input type="text" name="n[]" value="n" size="1"/>
    </form>
    <b> <a href="#" onclick="neuerSummand();"> + </a> </b>

    Es wäre nett, wenn mir jemand von euch einen Tipp geben könnte


    Edit:
    Am Funktionsaufruf liegt es auch nicht, habe eine Testausgabe eingefügt.

  • #2
    ich komm jetzt nicht so richtig mit, was deine inpuit felder für namen haben:

    http://de.selfhtml.org/javascript/ob...#set_attribute

    und zum klicken:

    http://www.mediaevent.de/javascript/DOM-Attribute.html

    Kommentar


    • #3
      Hilft mir nicht wirklich weiter.

      Kommentar


      • #4
        Weiß nicht, wo genau der Fehler auftritt...
        Guck in die Javascriptkonsole. „Funktioniert nicht“ hilft uns nämlich genauso wenig.

        Kommentar


        • #5
          Es heißt getElementById und nicht getElementbyId.

          Im Übrigen rate ich dir an, selbst solche Dokumente valide auszuzeichnen, weil der Quirksmode so greifen kann und ggf. beim IE zu Problemen im JavaScript führen kann.

          btw. installiere Firebug, wenn du Firefox benutzt. Mit F12 kannst du dann solche Fehler entdecken, wenn du kein geübtes Auge für JavaScript-Fehler hast.

          Kommentar


          • #6
            Zitat von Asterixus Beitrag anzeigen
            Es heißt getElementById und nicht getElementbyId.

            Im Übrigen rate ich dir an, selbst solche Dokumente valide auszuzeichnen, weil der Quirksmode so greifen kann und ggf. beim IE zu Problemen im JavaScript führen kann.

            btw. installiere Firebug, wenn du Firefox benutzt. Mit F12 kannst du dann solche Fehler entdecken, wenn du kein geübtes Auge für JavaScript-Fehler hast.
            Danke!
            Habe den Tippfehler korrigiert, allerdings erzielt das Script immer noch nicht mein gewünschtes Ergebnis...

            Habe hier mal einen Screenshot von der Fehlerkonsole + Quellcode angehängt.

            Warum gibt es ein Problem mit dem String?
            Muss ich die Variable außerhalb der Funktion global definieren?

            Arbeite ehrlich gesgat noch nicht wirklich lange mit JS.. Hab sonst nur mit PHP gearbeitet, deswegen weiß ich nicht genau wie das da mit den Gültigskeitsbereichen ist.


            Screenshot:
            *klick*

            Kommentar


            • #7
              Ich sehe keinen Screenshot und von einer anderen Variable als die der DOM-Elemente habe ich auch nicht entdeckt. Könntest du bitte ausführlich dein Problem beschreiben, weil wir eigentlich erwarten, dass offensichtliche Syntaxfehler selber korrigiert werden.

              Edit: Achso, so weit war ich gar nicht. createElement erwartet einen Tagnamen und kein Tag.
              https://developer.mozilla.org/en-US/....createElement

              Kommentar


              • #8
                Steht doch alles da:
                InvalidCharacterError: String contains an invalid character
                [Bei diesem Fehler anhalten]

                form.appendChild(document.createElement("<br>"));
                Jedenfalls wenn man die richtige Konsole benutzt

                Kommentar


                • #9
                  In Zeile 19 steht aber etwas anderes...

                  Edit:

                  @Asterixus

                  Was muss ich da jetzt rein schreiben?

                  Ich finde in jedem Tutorial, welches genau meinen Fall abhandeln soll, folgende Zeile:

                  Code:
                  createElement("input");

                  Kommentar


                  • #10
                    Ein Minimum an Debugverständnis solltest du doch selbst aufweisen können - genug Informationen hast du ja.

                    Kommentar


                    • #11
                      In Zeile 19 steht aber etwas anderes...
                      Dann lösch mal Deine Console und Refreshe die Seite. Ich war jedenfalls dirkt auf Deiner Seite.

                      Kommentar


                      • #12
                        Na was ist jetzt der Unterschied zwischen Tag- & Tagname?

                        Bin gerade durcheinander..

                        Bitte hilf mir doch einfach statt hier sinnlos mit deinen Kenntnissen zu prahlen!

                        Edit:

                        Funktioniert jetzt, ich war die ganze Zeit in einer anderen Zeile, deswegen hat das keinen Sinn ergeben. Jetzt verstehe ich das auch mit den Tags, war halt mit dem break der Fehler.

                        Danke

                        Kommentar

                        Lädt...
                        X