value von Radiobuttons nach der Verarbeitung undefined
Markus
- javascript
Hallo,
wieso ist in dem folgenden Quelltext nach dem Klick auf den Button die Variable mf undefined?
<html>
<head>
<script language="JavaScript">
<!--
function TextErstellen()
{
var Text = ("Sehr geehrte" + document.texteingabe.mf.value + document.texteingabe.name.value);
document.texteingabe.ausgabe.value = Text;
}
//-->
</script>
</head>
<body>
<form name="texteingabe">
Herr<input type=radio name="mf" value="r Herr "><br>
Frau<input type=radio name="mf" value=" Frau "><br>
Name:<input type="Text" name="name"><br>
<input type="button" value="Text erstellen" onclick="TextErstellen()"><br>
<textarea name="ausgabe" cols="80" rows="5"></textarea>
</form>
</body>
</html>
Wenn ich nur einen Radiobutton verwende, funktioniert's zwar, aber dann macht's keinen Sinn Radiobuttons zu verwenden.
cu
Markus
Weil radiobuttons selbst schon ein Array sind, d.h. es gibt
document.texteingabe.mf[0] und document.texteingabe.mf[1] aber nicht
document.texteingabe.mf.value
So kannst Du's z.B. abfragen:
if (document.texteingabe.mf[0].checked) var Teilstring = "r Herr ";
else var Teilstring = " Frau ";
gruss Markus,
wieso ist in dem folgenden Quelltext nach dem Klick auf den Button die Variable mf undefined?
weil mf keine variable ist, die mit nur einem wert "value"
belegt ist - mf haelt die gesamtheit aller radio-buttons
mit dem namen "mf" in einem feld;
deshalb musst Du in Deinem fall fuer die richtige anrede
den radio-button ansprechen, dessen eigenschaft "checked"
den wahrheitswert "true" zurueckgibt; das bekommst Du in
mit einer schleife raus, die alle "[radio][i].checked"
prueft und dann mit dem ermittelten index "i" den richtigen
"[radio][i].value" in Deinen "Text"-string einbaut:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<script language="JavaScript">
<!--
function TextErstellen()
{
var mfElement = document.texteingabe.mf;
var Text = "Bitte wählen Sie eine Anredeform.";
for (var i=0;i<mfElement.length;i++)
{
if (mfElement[i].checked) {Text = ("Sehr geehrte" + mfElement[i].value + document.texteingabe.name.value);break;}
}
document.texteingabe.ausgabe.value = Text;
}
//-->
</script>
</head>
<body>
<form name="texteingabe">
Herr<input type=radio name="mf" value="r Herr "><br>
Frau<input type=radio name="mf" value=" Frau "><br>
Name:<input type="Text" name="name"><br>
<input type="button" value="Text erstellen" onclick="TextErstellen()"><br>
<textarea name="ausgabe" cols="80" rows="5"></textarea>
</form>
</body>
</html>
by(t)e by(t)e - peterS. - pseliger@gmx.net
Hallo,
wieso ist in dem folgenden Quelltext nach dem Klick auf den Button die Variable mf undefined?
<html>
<head>
<script language="JavaScript">
<!--
function TextErstellen()
{
var Text = ("Sehr geehrte" + document.texteingabe.mf.value + document.texteingabe.name.value);
document.texteingabe.ausgabe.value = Text;
}
//-->
</script>
</head>
<body>
<form name="texteingabe">
Herr<input type=radio name="mf" value="r Herr "><br>
Frau<input type=radio name="mf" value=" Frau "><br>
Name:<input type="Text" name="name"><br>
<input type="button" value="Text erstellen" onclick="TextErstellen()"><br>
<textarea name="ausgabe" cols="80" rows="5"></textarea>
</form>
</body>
</html>
Wenn ich nur einen Radiobutton verwende, funktioniert's zwar, aber dann macht's keinen Sinn Radiobuttons zu verwenden.
cu
Markus