EINEN Radiobutton abfragen
Jenni
- javascript
Hallo zusammen,
ich habe da mal ein Problemchen. Ich programmiere gerade eine sehr dynamische Datenbankverwaltung mit ASP und JavaScript. Dabei generiere ich auch automatisch (je nach Anzahl der Treffer) eine Liste mit Radio Buttons. Dabei kann es vorkommen, dass nur ein Radio Button zur Auswahl steht. Resultat: Es knallt mir alles um meine Ohren. Bei zwei oder mehr Buttons ist alles kein Thema. Kann mir vielleicht jemand einen Tipp geben, ich bedanke mich schonmal im vorraus für eure Mühe. Ich habe mal den Code vereinfacht hier dargestellt.
Thanxx Jenni
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script type="text/javascript">
<!--
function pruefe()
{
alert("Länge = " + document.Testformular.egal.length); //dient nur zur Überprüfung!
Länge = ""
if(document.Testformular.egal.length==undefined)
{
Länge = 1;
}
else
{
Länge = document.Testformular.egal.length;
}
alert("Neue Länge = " + Länge); //dient nur zur Überprüfung!
for(i=0; i<Länge; i++)
if (document.Testformular.egal(i).checked==true)
{
alert((i + 1) + ".Button = " + document.Testformular.egal(i).checked); //dient nur zur Überprüfung!
}
else
{
alert((i + 1) + ".Button = " + document.Testformular.egal(i).checked); //dient nur zur Überprüfung!
}
}
//-->
</script>
</HEAD>
<BODY>
<form action="test.htm" method=get name=Testformular>
<input type=radio name=egal value="Test">
<!--<input type=radio name=egal value="Test2">-->
<input type=submit onclick="return pruefe()" value=" OK ">
</form>
</BODY>
</HTML>
hi
Es knallt mir alles um meine Ohren.
das heisst?
so long
ole
(8-)>
Hallo Ole,
Das heisst: ohne die Abfrage auf 'undefined' kommt, dass die Länge undefiniert ist. Mit der Abfrage sagt mir der Debugger: Zeile 21, das Objekt unterstützt diese Eigenschaft oder Methode nicht. Ich denke es liegt an (i) bei der Abfrage:if (document.Testformular.egal(i).checked==true). Ich weiss es aber nicht genau.
Gruss Jenni
Hallo zusammen,
ich habe da mal ein Problemchen. Ich programmiere gerade eine sehr dynamische Datenbankverwaltung mit ASP und JavaScript. Dabei generiere ich auch automatisch (je nach Anzahl der Treffer) eine Liste mit Radio Buttons. Dabei kann es vorkommen, dass nur ein Radio Button zur Auswahl steht. Resultat: Es knallt mir alles um meine Ohren. Bei zwei oder mehr Buttons ist alles kein Thema. Kann mir vielleicht jemand einen Tipp geben, ich bedanke mich schonmal im vorraus für eure Mühe. Ich habe mal den Code vereinfacht hier dargestellt.
Sinnvollerweise würd ich das Problem schon serverseitig lösen, indem du statt einer checkbox eine hidden Feld sendest, da der User ja eh nix wählen kann.
Du musst dann nur bei deinem Skript noch eine Überprüfung einbauen
if (!document['FeldName'].length) return;
Struppi.
Hallo Struppi,
danke, mit dem Hiddenfeld hast du mich auf eine gute Idee gebracht. Ich hoffe, dass es funktioniert, wie ich es mir vorstelle.
Aber die Sache mit dem Serverseitig funktioniert schonmal, das werde ich jetzt mal ausbauen. Danke für den Tipp
Gruss Jenni
Nachtrag:
ich hab grad in dienem Orginal posting diese Zeile entdeckt:
if(document.Testformular.egal.length==undefined)
In JS brauchst du den typeof Operator um festzustellen ob eine Variabel definiert ist:
if(typeof document.Testformular.egal.length== 'undefined')
aber wenn egal existiert ist das nicht nötig, da reicht
if(!document.Testformular.egal.length)
Das testet auf undeifned und 0
Struppi.
Hallo,
ich habe das jetzt so gemacht:
1. Ich zähle über ASP die Einträge und sollte nur ein Eintrag vorhandensein, habe ich nun ein Dummy Radio Button dahin gesetzt (einfach nur der Optik wegen ;-)). Die Daten werden aber eigendlich in einem Hiddenfeld übergeben.
2. Ich frage im JavaScript Teil auf den Typ (Hidden) ab und schicke das Formular dan ab, ohne irgendwelche anderen Prüfungen.
Ist warscheinlich jetzt nicht so nachvollziehbar, wie ich es jetzt beschrieben habe, aber es funktioniert.
Danke nochmal für den Tipp mit dem Hiddenfeld
Gruss Jenni