kostenloser Webspace werbefrei: lima-city


Formularfelder in Schleife

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    swissman

    swissman hat kostenlosen Webspace.

    Leider ist mir für den Titel keine bessere Bezeichnung eingefallen. Auch bei Google wusste ich nicht genau wonach suchen.

    Ich muss in einer Funktion die Werte von 10 Formularfeldern auslesen.
    Damit ich nicht alle Felderwerte einzeln einer Variable zuweisen muss (bei 10 Feldern geht es ja noch, aber es wird sich dann einmal um mehr als 10 Felder handeln), dachte ich mir, dass ich dies in einer Schleife erledigen kann.

    Die Felder heissen detail_0 bis detail_9

    Den Wert eines Feldes ermittle ich z.B. mit document.forms[0].detail_1.value

    Wie kann ich nun die 1 (bei detail_1) durch die Variable i ersetzen?
    Es müsste dann ja irgendwie document.forms[0].detail_+i+.value heissen. Nur so funktioniert das nicht.

    Falls ich euch mit dem Text oben verwirrt habe, versuche ich die Frage noch mal kurz zu stellen:

    Ich weise der Variabel i den wert 1 zu (i=1)
    Nun möchte ich den Wert der Variablen i hier einfügen: document.forms[0].detail_+i+.value (also: document.forms[0].detail_1.value)

    Ich hoffe, ihr versteht was ich meine.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Das geht viel einfacher.
    Denn es gibt für jedes Formular ein vordefiniertes Array mit den Formular-Elementen.
    http://de.selfhtml.org/javascript/objekte/elements.htm
  4. Autor dieses Themas

    swissman

    swissman hat kostenlosen Webspace.

    Vielen Dank. Das funktioniert ansich so wie ich mir das vorgestellt habe. Ich habe es nun also mit
    document.forms[0].elements.value realisiert.
    Wenn ich aber nun vor das Feld detail_0 noch ein Feld einfüge, muss ich dann i um 1 erhöhen. Ist ansich nicht schlimm, aber mich würde trotzdem interessieren, ob es wirklich nicht möglich ist die Variable i irgendwie anders einzufügen:
    document.forms[0].detail_+i+.value
  5. hmm, vllt gehts so:

    document.forms[0].getElementsByName(\"detail_+\"i)[0].value = \"bla\";


    Ansonsten goolge mal nach der funktion
  6. Autor dieses Themas

    swissman

    swissman hat kostenlosen Webspace.

    So funktioniert das leider nicht. Danke trotzdem.

    Ansonsten goolge mal nach der funktion

    Wenn ich wüsste, wonach suchen, hätte ich diesen Thread gar nicht erstellt :P
  7. natürlich funktioniert das letzte nicht denn er hat ja die felder nur mit namen benannt und ihnen wohl nicht die gleiche id zugewiesen. wenn er die id vergeben hätte würde es eigentlich auch gehen.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!