Kann keine Parameter verwenden (Neuling-Frage)

Niko_K

Grünschnabel
Hi,

also eigentlich bin ich kein besonders guter JavaScript-Programmierer, aber ich kann Java an sich ganz gut und da dachte ich mir, dass der Unterschied doch wohl nicht soo groß sein kann.

Ich hab mir also eines meiner copy&paste Schnipsel geholt und bastel da jetzt grad ein bisserl dran rum.
Ich versuche jetzt ein Select-Menü zu basteln, das mit JavaScript arbeitet.
Ich hab also folgendes im HTML-Header:
Code:
<script type="text/javascript">
  function gameFunction(){
    if(document.gameForm.gameSelect.options[document.gameForm.gameSelect.selectedIndex].value != \'0\'){
      window.parent.location = document.gameForm.gameSelect.options[document.gameForm.gameSelect.selectedIndex].value;
    }
  }
</script>
Der Aufruf erfolgt mit dem onclick-Tag und das funktioniert auch alles...

Aber nun zum eigentlichen Problem.
Ich will das nicht nur auf einer Seite verwenden und da das ja eigentlich auch der Sinn von solchen Methoden ist, dachte ich mir ich bastle das so um, dass ich den Namen der Form und des Select-Menüs einfach als Parameter übergeben kann.
Ich habe mir das so vorgestellt:
Code:
<script type="text/javascript">
  function gameFunction(formStr, selectStrStr){
    if(document.formStr.selectStr.options[document.formStr.selectStr.selectStredIndex].value != \'0\'){
      window.parent.location = document.formStr.selectStr.options[document.formStr.selectStr.selectStredIndex].value;
    }
  }
</script>
Das funktioniert abr überhaupt nicht.

Wie muss ich denn da vorgehen, wenn ich Parameter verwenden will?
Niko
 
Das du "Java kannst", heisst noch lange nicht das du irgend eine andere Sprache ebenfalls kannst auch wenn Sie sich namendlich sehr stark ähneln.

Ich verstehe dich nicht ganz aber versuche das hier mal. Dieses Script übergibt den aktuellen Form Namen und das Ausgewählte Spiel:

Code:
<script language="JavaScript">
function change()
	{
		var form = document.getElementById("forms").name;
		var list =  document.gameForm.gameselect;
		var selected=list.options[list.selectedIndex].value;
		var site="./index.php" + "?forms=" + form + "&game=" + selected;
		location.href=site; 
	}


</script>


<form name="gameForm" method="post" id="forms">
<select name="gameselect" onChange="change();">
<option value="0" selected>Wahl</option>
<option value="1">Spider Solit&auml;r</option>
<option value="2">Minesweeper</option>
</select>


</form>

In diesem Sinne

//edit: Rechtschreibefehler
 
Hi,

also erstmal danke für die Hilfe.
Ich habe das Problem zwar vorerst lösen könen (mit PHP), aber ganz habe ich das noch nicht verstanden.
Ich bekomme also die Form mit
Code:
document.forms[formStr]
Jetzt müsste ich nur noch wissen, wie ich eine Select-Menü in der Form bekomme, denn
Code:
getElementsByName()
hat nicht funktioniert.
Ich gehe doch recht in der Annahme, dass ich der Funktion als Parameter den Namen übergeben muss, oder?

Niko
 
Hmm...

... und das funktioniert jtzt auch mit einem Parameter?

also das hab ich jetzt kapiert.
Ich verstehe nur nicht ganz, wieso ich dabei bei den Forms den
Code:
forms[parameter1]
verwenden muss und dann bei dem Select wieder
Code:
forms[parameter1].parameter2
schreiben darf...

... werd mir wohl mal ein schlaues Buch kaufen
Danke,
Niko
 
wenn der Name de <select> als Parameter übergeben wird, dann gehts so:
Code:
document.forms[parameter1].elements[parameter2]
 

Neue Beiträge

Zurück