JavaScript onChange funktioniert in Safari nicht

echoDave

Commander
Registriert
Okt. 2010
Beiträge
2.220
Guten Abend,

habe da eins ehr seltsames Problem.
Und zwar habe ich folgenden HTML-Code:
HTML:
<div class="content">
    <fieldset>
        <legend>Überschrift 1</legend>
	<form name="show">
	    <label>Auswahl 1:</label>
            <select id="auswahl1" name="auswahl1" >
	        <option value="nichts" selected>Bitte w&auml;hlen...</option>
                <option value="1">option 1.1</option>
	 	<option value="2">option 1.2</option>
	 	<option value="3">option 1.3</option>
	 	<option value="4">option 1.4</option>
	    </select>
            <label>Auswahl 2:</label>
            <select id="auswahl2" name="auswahl2">
                <option value="1">option 2.1</option>
	 	<option value="2">option 2.2</option>
	 	<option value="3">option 2.3</option>
	 	<option value="4">option 2.4</option> 
                <option value="5">option 2.5</option>
                <option value="6">option 2.6</option>       
             </select>
             <input type="button" name="anzeigen" value="Anzeigen" onclick="anzeigenZielInhalt( 						            document.show.auswahl1.options[document.show.auswahl1.selectedIndex].value,								document.show.auswahl2.options[document.show.auswahl2.selectedIndex].value)"	/>
         </form>
	 <div id="anzeigenZiel" name="anzeigenZiel"></div>
     </fieldset>
     <fieldset>
         <legend>Überschrift 2</legend>
	 <form action="" method="POST" name="new">
            <label>Auswahl 2:</label>
	    <select id="auswahl2" name="auswahl2">
                <option value="1">option 2.1</option>
	 	<option value="2">option 2.2</option>
	 	<option value="3">option 2.3</option>
	 	<option value="4">option 2.4</option> 
                <option value="5">option 2.5</option>
                <option value="6">option 2.6</option>       
             </select>
             <label>Auswahl 1:</label>
             <select id="auswahl1" name="auswahl1" onChange="auswahl3inhalt(
document.new.auswahl2.options[document.new.auswahl2.selectedIndex].value,
this.options[this.selectedIndex].value)">
	        <option value="nichts" selected>Bitte w&auml;hlen...</option>
                <option value="1">option 1.1</option>
	 	<option value="2">option 1.2</option>
	 	<option value="3">option 1.3</option>
	 	<option value="4">option 1.4</option>
	     </select>
             <label>Auswahl 3:</label>
             <select id="auswahl3" name="part" onchange="neuerWertInhalt(
document.new.auswahl1.options[document.new.auswahl1.selectedIndex].value,
document.new.auswahl2.options[document.new.auswahl2.selectedIndex].value,
this.options[this.selectedIndex].value)">
              </select>
              <input type="submit" name="eintragen" value="Eintragen" />
	</form>
        <div id="neuerWert" name="neuerWert"></div>
    </fieldset>
</div>


So nun in den JS Funktionen wird per AJAX der Inhalt in die zu den Funktionen gleichnamigen HTML-Elementen eingefügt.

Da wie man erkennen kann zwei identische (nur der onChange ist variabel) Auswahllisten jeweils in zwei verschiedenen form´s zu sehen sind, musste ich bei dem ermitteln des Values die form mit einbringen also:
zB. document.new.auswahl1.options[document.new.auswahl1.selectedIndex].value
also ich es ohne form gemacht habe also
document.auswhal1.value
hat es funktioniert nur wurde im zweiten form immer der wert des ersten select´s genommen.

nun der HTML-Code den ich oben gepostet habe, funktioniert in FF; IE und Opera sowie Chrome, nur in Safari funktioniert der onclick im ersten form, im form mit dem onChange zweiten ruht sich nichts, Safari geht nicht einmal in die js Funktion rein.

bin da echt ratlos....
 
Lager erstmal deine Events aus, für's AJAX müsstest du ja eh schon gesonderten Code haben. Und für Crossbrowser haben wir ja unsere Libs wie jQuery ^^

jQuery(function($){
$('select#id').change(/*mach was*/);
})

Uh und du darfst natürlich jede ID im HTML nur 1x verwenden, nur Namen und Klassen gehen öfter.
 
Hi,

hast du nach deinem Problem schon mal gegoogelt? Ich finde zahlreiche Threads, in denen von genau deinem Problem gesprochen wird. Oft lese ich "Bug", manchmal auch mit anderen Browsern. Kann es sein dass es sich tatsächlich um einen Bug im Safari handelt?

VG,
Mad
 
Zurück
Oben