multiselect +PHP +Javascript [gelöst]

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

multiselect +PHP +Javascript [gelöst]

Beitrag von Stefan.K » 08.06.2005 14:35:30

Hallo folgendes Problem,
ich habe ein multiselection-Feld mit folgenden Vorgaben:

Code: Alles auswählen

<select name="array[]">
<option value="1">LD3223 </option>
<option value="2">LD3224 </option>
<select>

<select name="typid" tabIndex="15" class="selectfeld300" onchange="remote3('rms.new.php',this.form.typid.value,this.form.elements['array[]']);"><option label="Intern" value="1" selected="selected">Intern</option>

<option label="Kunde" value="2">Kunde</option>
<option label="Lieferant" value="3">Lieferant</option>
</select>
heißt, bei einer Änderung des Feldes "typid" sollen dessen Werte und die Werte des Multiselectionfeldes an die Funktion remote3 übergeben werden.
Die eckigen Klammern brauche ich, da das Ganze dann in PHP weiterverarbeitet werden soll.

Nur egal was ich auch anstelle, um mit JS an die Inhalte des Multiselectionfeldes zu kommen, es schlägt fehl. Das höchste der Gefühle ist die Übermittlung eines Wertes.

folgendes habe ich zusätzlich probiert:

Code: Alles auswählen

this.form.elements['artikelnr[]'.value]
this.form.elements['artikelnr[]'].value
Ohne Erfolg

Weiß jemand eine Lösung?
Zuletzt geändert von Stefan.K am 10.06.2005 16:44:44, insgesamt 1-mal geändert.
Ubuntu Gutsy Gibbon, 2.6.20

Benutzeravatar
Stefan.K
Beiträge: 148
Registriert: 06.03.2003 10:49:06
Wohnort: Schweiz
Kontaktdaten:

Beitrag von Stefan.K » 10.06.2005 16:44:23

Hat zwar etwas gedauert, aber jetzt hab ich die Lösung:

Code: Alles auswählen

<select name="array[]">
<option value="1">LD3223 </option>
<option value="2">LD3224 </option>
<select>
Aufruf der JS-Funktion via:

Code: Alles auswählen

<select name="typid" tabIndex="15" class="selectfeld300" onchange="remote3('rms.new.php',this.form.typid.value,this.form.elements['array[]']);">
<option label="Intern" value="1" selected="selected">Intern</option>
<option label="Kunde" value="2">Kunde</option>
<option label="Lieferant" value="3">Lieferant</option>
</select>
soweit hatte ich's schon richtig.

Dann in der JS-Funktion:

Code: Alles auswählen

function remote3(url,val2,val3){
valu = "";
for(i = 0; i<val3.length; i++)
{
	if(val3[i].selected)
	{
	 valu +="&artikelnr[]=" + val3[i].value;
	}
}
window.location=url + "?typid=" +  val2  + valu;
}
Und voila - Ich kriege ein Array, das ich mit PHP weiterverarbeiten kann :P

Ich hatte fälschlicherweise immer versucht direkt das Array an "window.location" zu übergeben. :?

[edit] Satzbau und Rechtschreibung
Ubuntu Gutsy Gibbon, 2.6.20

Antworten