Lucleonhart
05.01.2006, 19:47
Moin Folks!
I got a serious problem! *shit* ^^
Hab mal die Problematische stelle aus meinem 1500Zeilen Code heruasgenommen und etwas vereinfacht.. zur verdeutlichung des Probs! Geht darum:
Ich habe mehrer Select Felder:
...
<body>
<form name="formular" action="" method="POST">
<select size="1" name="selectfeld_1" id="selection_1" OnChange="checkdouble('selectfeld_1');>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select size="1" name="selectfeld_2" id="selection_2"OnChange="checkdouble('selectfeld_2');>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
...
</form>
Die unterschiedlichen Namen und Ids muss ich haben, für einen anderen teil des scriptes.
So! Nun prüfe ich bei der Auswahl eines Wertes aus einem der Selectfelder, was ausgewählt wurde.. Das ganze per javascript! dafür steht die anweisung im select tag.
Das Javascript steht im Head und sieht dann ungefähr so aus:
<script type="text/javascript">
<!--
function checkdouble(changedname)
{
selected = eval("document.formular." + changedname + ".options[document.formular." + changedname + ".selectedIndex].value");
}
//-->
</script>
So, damit hab ich dann das aktuell ausgewählte.. Die eval Funktion brauche ich, um in der javascript anweisung bereit meine variable zu verbauen.
So, und jetzt der clou! ICh will sehen, ob ein anderes drop down feld bereits diesen ausgewählten wert hat. Wenn ja, soll der wert gegen den eins höheren getauscht werden! Ich lass die check funktion mal weg, die geht nämlich, und komme zum wesentlichen:
if ( wert == wertdesanderen )
{
aktueller_wert = eval("document.formular." + aktuellgetestet + ".value"); // DAS geht!
akuteller_wert++;
eval("document.formular." + aktuellgetestet + ".value") = aktueller_wert; // DAS GEHT NICHT!
}
So. Da iss der knackpunkt!
Variable = wert des select feldes mit dynamischem namen :: OK
wert des select feldes mit dynamischem namen = variable :: GEHT NICHT. AAABER:
Wert eines bestimmten selectfeldes = variable :: GEHT! also nur document.formular.selectfeld_1.value = variable !
Heuuul! Was soll denn das? In eine Richtung geht es, andersherum nicht. Andersherum geht es aber wenn ich die variable rausnehme...
HEEELP!!! Letzte Zeile meines Sourcecodes.......
I got a serious problem! *shit* ^^
Hab mal die Problematische stelle aus meinem 1500Zeilen Code heruasgenommen und etwas vereinfacht.. zur verdeutlichung des Probs! Geht darum:
Ich habe mehrer Select Felder:
...
<body>
<form name="formular" action="" method="POST">
<select size="1" name="selectfeld_1" id="selection_1" OnChange="checkdouble('selectfeld_1');>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<select size="1" name="selectfeld_2" id="selection_2"OnChange="checkdouble('selectfeld_2');>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
...
</form>
Die unterschiedlichen Namen und Ids muss ich haben, für einen anderen teil des scriptes.
So! Nun prüfe ich bei der Auswahl eines Wertes aus einem der Selectfelder, was ausgewählt wurde.. Das ganze per javascript! dafür steht die anweisung im select tag.
Das Javascript steht im Head und sieht dann ungefähr so aus:
<script type="text/javascript">
<!--
function checkdouble(changedname)
{
selected = eval("document.formular." + changedname + ".options[document.formular." + changedname + ".selectedIndex].value");
}
//-->
</script>
So, damit hab ich dann das aktuell ausgewählte.. Die eval Funktion brauche ich, um in der javascript anweisung bereit meine variable zu verbauen.
So, und jetzt der clou! ICh will sehen, ob ein anderes drop down feld bereits diesen ausgewählten wert hat. Wenn ja, soll der wert gegen den eins höheren getauscht werden! Ich lass die check funktion mal weg, die geht nämlich, und komme zum wesentlichen:
if ( wert == wertdesanderen )
{
aktueller_wert = eval("document.formular." + aktuellgetestet + ".value"); // DAS geht!
akuteller_wert++;
eval("document.formular." + aktuellgetestet + ".value") = aktueller_wert; // DAS GEHT NICHT!
}
So. Da iss der knackpunkt!
Variable = wert des select feldes mit dynamischem namen :: OK
wert des select feldes mit dynamischem namen = variable :: GEHT NICHT. AAABER:
Wert eines bestimmten selectfeldes = variable :: GEHT! also nur document.formular.selectfeld_1.value = variable !
Heuuul! Was soll denn das? In eine Richtung geht es, andersherum nicht. Andersherum geht es aber wenn ich die variable rausnehme...
HEEELP!!! Letzte Zeile meines Sourcecodes.......