klaus: Wertuebergabe in Formularen - newbiefrage

hallo,

ich hab mich grad mit der vielzitierte Wertübergabe in Formularen
befasst, und versuche das auf Formularen mit Checkboxen zu übertragen, scheitere aber kläglich.

Für ein Checkbox geht das ja:

Formular:

<form name="eform" onSubmit="wertspeichern();return false">
<input type="checkbox" name="zahl" value="autor">

Im Head der Script:
function wertspeichern() {
var a=self.document.eform.zahl.value;
self.name=a;
}

Das kann ich auswerten und an andere Seiten übergeben.

Aber nun haben ja mehrere Checkboxen die gleichen Namen

<input type="checkbox" name="zahl" value="autor">
<input type="checkbox" name="zahl" value="autor1">
...
also muss ich irgendeine Schleife basteln, die alle checkboxen
mit Namen Zahl abgrast und var a dann aus den gesammelten werten besteht.

Und da hab ich rumprobiert und bekomm nur Mist raus :(

Kann mir da jemand helfen ?

  1. Hallo Klaus,

    Aber nun haben ja mehrere Checkboxen die gleichen Namen

    <input type="checkbox" name="zahl" value="autor">
    <input type="checkbox" name="zahl" value="autor1">
    ...
    also muss ich irgendeine Schleife basteln, die alle checkboxen
    mit Namen Zahl abgrast und var a dann aus den gesammelten werten besteht.

    schaue mal hier nach <../../sfausles/tsfa_tch.htm#a4>

    Viele Grüße

    Antje

    1. Aber nun haben ja mehrere Checkboxen die gleichen Namen

      <input type="checkbox" name="zahl" value="autor">
      <input type="checkbox" name="zahl" value="autor1">
      ...
      also muss ich irgendeine Schleife basteln, die alle checkboxen
      mit Namen Zahl abgrast und var a dann aus den gesammelten werten besteht.

      schaue mal hier nach <../../sfausles/tsfa_tch.htm#a4>

      ja, danke, hab ich gemacht, nur wie häng ich die Strings aneinander ?

      Hab sowas in der Richtung probiert:

      function check_auswahl()
      {
        for (i=0; i<document.eform.zahl.length; i++)
        if (document.eform.zahl[i].checked)
        var a=self.document.eform.zahl[i].value;
        self.name=a+" "+a[i];
        return true;
        return false;
        }

      aber das geht natürlich nich, weil a[i] wohl nich definiert ist.
      wenn ich aber statt var a=  var a[i] = schreibe gehts auch nich.
      Das is so blöd, ich weiss, dass das irgendwie relativ einfach sein muss, aber da sind einfach zu viele Bäume im Wald ;)

      grüsse klaus

      1. Hallo Klaus,

        »»  ja, danke, hab ich gemacht, nur wie häng ich die Strings aneinander ?

        »»  Hab sowas in der Richtung probiert:

        function check_auswahl()
        {
          for (i=0; i<document.eform.zahl.length; i++)
          if (document.eform.zahl[i].checked)
          var a=self.document.eform.zahl[i].value;
          self.name=a+" "+a[i];

        schlicht und einfach so: selfname=selfname+"_"+a;

        Bitte kein Leerzeichen verwenden, das erzeugt im NN garantiert eine Fehlermeldung.

        Viele Grüße

        Antje

        1. schlicht und einfach so: selfname=selfname+"_"+a;

          Bitte kein Leerzeichen verwenden, das erzeugt im NN garantiert eine Fehlermeldung.

          arrgll, auf sowas sollte man selber kommen ;)

          vielen dank

          gruesse klaus