[JS] Assoziative Array an Funktion übergeben

atlan428

Well-known member
ID: 43536
L
13 Mai 2006
269
10
Ich habe folgendes Problem und komme einfach nicht weiter:
Ich möchte einer Javascriptfunktion 2 Parameter übergeben. Beim ersten handelt es sich um einen String und der zweite ist ein assoziatives Array. Dieses soll aber erst im Funktionsaufruf generiert werden. Wie kann man sowas machen? So funktioniert es leider nicht:

Funktionsaufruf:
<input name="anzahl" maxlength="2" size="2" id="E58" onkeyup='javascript:calcCosts("E58",new array("1"=>"wert1"));' type="text">

Funktion:
function calcCosts(id,r) {
alert(r[1]);
}

Vielleicht habe ich auch einfach nur eine Denkblockade, aber ich komme einfach nicht weiter.
 
Muss es zwingend ein Array sein oder darf es auch ein Objekt sein?
HTML:
<input name="anzahl" maxlength="2" size="2" id="E58" onkeyup="calcCosts('E58', {1: 'wert1'});" type="text"/>
Sollte genauso gut funktionieren.

Und am Rande: onkeyup ist schon ein JS-Eventhandler, da braucht's kein javascript: vor dem JS-Code bzw. es könnte sogar sein, dass manche Browser Dir da 'nen Strick draus drehen.
 
Vielen Dank für deine Hilfe und den Tipp! Hat wunderbar funktioniert. Habe immer gedacht, es ist schlimmer für manche Browser wenn man kein "javascript" davor schreibt. Wieder was gelernt.