Übergabe von values bei dynamischen Options-Feldern
wuscheck
- javascript
Vielleicht kann mir jemand helfen:
Ich habe ein Script mit dynamischen Optionsfeldern, leider wird nur der Name nicht aber der "value" weitergegeben, damit das ganze in einem Formular weiterverarbeitet werden kann... Wie komme ich zu den values?
Hier der Quellcode (head):
<script language=JavaScript>
var m1Array = new Array("('Wähle Gegner','',true,true)",
"('HSG abc')",
"('SG def')",
"('TV xyz')");
function populategegner(inForm,selected)
{
var selectedArray = eval(selected + "Array");
while (selectedArray.length < inForm.gegner.options.length)
{
inForm.gegner.options[(inForm.gegner.options.length - 1)] = null;
}
for (var i=0; i < selectedArray.length; i++)
{
eval("inForm.gegner.options[i]=" + "new Option" + selectedArray[i]);
}
if (inForm.team.options[0].value == '')
{
inForm.team.options[0]= null;
if ( navigator.appName == 'Netscape')
{
if (parseInt(navigator.appVersion) < 4)
{
window.history.go(0);
}
else
{
if (navigator.platform == 'Win32' || navigator.platform == 'Win16')
{
if(!document.getElementById)
window.history.go(0);
}
}
}
}
}
</script>
Hier der Quellcode (body):
<SELECT name=team onchange=populategegner(document.form,document.form.team.options[document.form.team.selectedIndex].value)>
<OPTION selected value="">Wähle Team</OPTION>
<OPTION value='m1'>Männer I</OPTION>
</SELECT>
<SELECT name=gegner>
<OPTION selected value=""><--------------------</OPTION>
</SELECT>
Hallo wunscheck,
bei mir läuft es unter Netscape damit (Javascript ist i.O.):
<form name="myForm">
<SELECT name="team"
onchange="populategegner(document.myForm, document.myForm.team.value)">
es sollte aber unterm MSIE so auch gehen, Opera weiß ich nicht. Kannst Du aber mit einem
alert(selected);
in der function leicht überprüfen.
Gruß,
Andreas
Hallo wunscheck,
bei mir läuft es unter Netscape damit (Javascript ist i.O.):
<form name="myForm">
<SELECT name="team"
onchange="populategegner(document.myForm, document.myForm.team.value)">
es sollte aber unterm MSIE so auch gehen, Opera weiß ich nicht. Kannst Du aber mit einem
alert(selected);
in der function leicht überprüfen.
Gruß,
Andreas
Hallo Andreas,
danke für Deine rasche Antwort, aber mit Deiner Lösung bekomme ich die values der Selectbox "team", ich brauche aber die values der Selectbox "gegner"... Hast du noch eine andere Lösung parat?
Gruss
Patrick
Hallo Patrick,
wo ist das Problem?
document.myForm.gegner (<SELECT name="gegner") beinhaltet die Values der anderen Box, das sollte doch klar sein. Wenn Du dort einen auswählst, dann brauchst Du dort natürlich auch die Abfrage des onchange-Events und eine (wahrscheinlich eine neue) Javascriptfunktion die dann die Auswahl auswertet. Und das analog zu dem was ja bereits da ist.
Gruß
Andreas