Moin,
<form name="myname">
<input type="RADIO" checked name="email[]" value="mailto:email@email.de">ein name
hast du in diesem Formular mehrere Felder mit name="email[]"? Falls nein, warum dann die Klammern, die ein Array andeuten wollen?
<a href="javascript:document.myname.target='_email';document.myname.action=document.myname.email['0'].value;document.myname.submit()"><font color='red'><b>email schicken</b></font></a>
das "document.myname.email[0].value" ist doch aber richtig, oder?
Nein, zumal du im Code-Ausschnitt nicht "email[0]" stehen hast - aber über diese Spitzfindigkeiten sieht Javascript wegen der automatischen Typumwandlung gern hinweg (trotzdem: bitte auf den Unterschied zwischen Strings und numerischen Werten achten).
das error zeigt mir an, dass "document.myname.email.0" null oder kein object ist.
Genau, du hast nämlich gar kein Feld mit dem Namen "email", sondern eines (oder mehrere) mit dem Namen "email[]". Für Javascript sind die Klammern ganz normal Teil des Namens, weil er im HTML-Attribut so festgelegt ist. Dass aus Feldern, deren Name mit "[]" endet, ein Array erzeugt wird, ist eine Besonderheit von PHP bei der Verarbeitung der Formulardaten, aber in Javascript gibt es diesen Automatismus nicht.
Um das so benamste Feld anzusprechen, muss du es in Javascript bei seinem vollen Namen nennen, hier also
document.myname['email[]'].value
wenn nur ein Element mit diesem Namen existiert, und
document.myname['email[]'][n].value
wenn mehrere existieren - wobei n in diesem Fall der Index ist, mit dem du die verschiedenen gleichnamigen Elemente ansprichst.
So long,
Martin
Die beste Informationsquelle sind Leute, die jemand anderem versprochen haben, nichts weiterzuerzählen.
(alte Journalistenweisheit)