Javascript dynamische Liste mit Mehrfachauswahl

hmmNaGut

Erfahrenes Mitglied
Hi, ich habe ein Problem mit einer Liste
folgendes sollte das Progamm tun.

Wenn ich auf aufnehmen klicke dann
soll er die Auswahl des Datums
in eine extra Liste hinzufügen.

Das klappt ja eigentlich..

HIer mal mein Java-script code

PHP:
				function InsertDatum()
				{
					if(document.create_event.tag.selectedIndex==-1 || document.create_event.monat.selectedIndex==-1 ||	document.create_event.jahr.selectedIndex==-1	)
					{
						alert("Sie müssen einen Tag Monat und Jahr auswählen");
					}
					else{
						var tag;
						var monat;
						var jahr;
						var stunden;
						var minuten;
						tag=document.create_event.tag.options[document.create_event.tag.selectedIndex].value;
						monat=document.create_event.monat.options[document.create_event.monat.selectedIndex].value;
						jahr=document.create_event.jahr.options[document.create_event.jahr.selectedIndex].value;						
						stunden=document.create_event.stunden.options[document.create_event.stunden.selectedIndex].value;
						minuten=document.create_event.minuten.options[document.create_event.minuten.selectedIndex].value;

						
						var speichern=tag + "."+monat+"."+jahr+ " -  " + stunden + ":" + minuten;
						alert(speichern);
						
						neuereintrag=new Option(speichern, speichern, false, true);		
						document.create_event.zeit_liste.options[document.create_event.zeit_liste.length]=neuereintrag;			
					}

				}

Nun das Problem ich habe eine Liste die sieht so aus,
eine Array womit ich dann die mehrfach ausgewählten
Felder per POST übermitteln kann.

Diese werden dann von einem PHP-Skript verarbeitet.

Das heißt das wegnehmen der [] geht nicht, die sind zwingend notwendig.

HTML:
<select name="zeit_liste[]" multiply="multiply" size="5">
</select>

In dem Skript was ich bis jetzt Programmiert habe funktioniert es
wenn ich die [] weglasse.
Das würde dann so aussehen, kann ich leider nicht gebrauchen.

Das bedeutet das Skript "funktioniert"

HTML:
<select name="zeit_liste" multiply="multiply" size="5">
   </select>


Danke schon mal für eure HIlfe
LG Patrick
 
Zuletzt bearbeitet:
Ich haber es vorrüber gehen auf eine unschöne art und weiße gelöst.
Habe aber noch was gutes dabei gefunden.
Danke jedenfalls.

Hier mein Dirty Code

PHP:
		<script type="text/javascript">
				function InsertDatum()
				{
					if(document.create_event.tag.selectedIndex==-1 || document.create_event.monat.selectedIndex==-1 ||	document.create_event.jahr.selectedIndex==-1	)
					{
						alert("Sie müssen einen Tag Monat und Jahr auswählen");
					}
					else{
						var SelectBox=document.create_event.elements[7];
						var tag;
						var monat;
						var jahr;
						var stunden;
						var minuten;
						tag=document.create_event.tag.options[document.create_event.tag.selectedIndex].value;
						monat=document.create_event.monat.options[document.create_event.monat.selectedIndex].value;
						jahr=document.create_event.jahr.options[document.create_event.jahr.selectedIndex].value;						
						stunden=document.create_event.stunden.options[document.create_event.stunden.selectedIndex].value;
						minuten=document.create_event.minuten.options[document.create_event.minuten.selectedIndex].value;

						
						var speichern=tag + "."+monat+"."+jahr+ " -  " + stunden + ":" + minuten;
						alert(speichern);
						
						neuereintrag=new Option(speichern, speichern, false, true);		
						SelectBox.options[SelectBox.length]=neuereintrag;			
					}

				}
		</script>
 
Moin Patrick,

so recht bin ich nicht schlau daraus geworden, wo das eigentliche Problem liegt.:-(
Aus deiner Beschreibung lässt sich aber erahnen, dass du evtl. nicht weisst, wie du die Liste anhand ihres Namens ansprechen sollst, wenn ihr Name die Klammern enthält.

Falls dies das Problem ist, sieht die Lösung so aus:
Code:
document.create_event.elements['zeit_liste[]']
(deine Lösung mit dem Index geht natürlich auch)
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück