kleines JavaScript: Safari-Bug oder mein Fehler?

  1. der_Kay

    der_Kay Thread StarterMacUser Mitglied

    Mitglied seit:
    02.09.2004
    Beiträge:
    1.685
    Zustimmungen:
    8
    Hallo zusammen,

    unten ein simples Script: eine Checkbox und ein Auswahlfeld. Kreuzt man die Checkbox an, soll Option Nr. 2 des Auswahlfeldes deaktiviert werden.

    Das funktioniert einigermassen in Firefox 1.0.6 und Opera 8.0. Aber Safari 2.0 (412.2) ignoriert das Script komplett, sendet "Option 2" brav, auch wenn sie "deaktiviert" wurde... Bug, Feature oder mein Fehler?

    Vielen Dank fürs Draufschauen!

    Kay

    kurzer Nachtrag:
    kann es sein, das Safari das "disabled"-Attribut innerhalb einer <option> komplett ignoriert?
    HTML:
    <html>
    <head>
    <script type="text/javascript">
    function do_disable_op2()
    {
    	var opt2 = document.getElementById('opt2');
    	var chbx = document.getElementById('chbx');
    	opt2.disabled = chbx.checked;
    }
    </script>
    </head>
    <body>
    <?php
    function dump($value, $key) {
    	echo($key.' : '.(!$value ? "(null) / (FALSE)" : $value).'<br>');
    }
    if(isset($_POST)) { array_walk($_POST,'dump'); }	
    ?>
    <form method="POST" action= <?php echo( $_SERVER['PHP_SELF']); ?> >
    	<input id="chbx" type="checkbox" name="checkbox_value" 
    		onChange="do_disable_op2();">
    			Disable Option2 	<br>		
    	<select name="Selection">
    		<option id="opt0" value="Option 0">Option 0</option>
    		<option id="opt1" value="Option 1">Option 1</option>
    		<!-- diese soll abgeschaltet werden -->
    		<option id="opt2" value="Option 2">Option 2</option>
    		<option id="opt3" value="Option 3">Option 3</option>
    	</select>
    	<br>
    	<input type="submit" value="Submit">
    </form>
    </body>
    </html>
    
     
    der_Kay, 07.08.2005
  2. Hilarious

    HilariousMacUser Mitglied

    Mitglied seit:
    25.11.2004
    Beiträge:
    2.161
    Zustimmungen:
    5
    Sieht ganz so aus, als würde Safari diese Methode nicht unterstützen. Hmmm.
    Nebenbei: Für den Dump eignet sich auch ganz gut: echo "<pre>\n", print_r($var), "</pre>\n";
    (so hast Du vielleicht ein bisschen was von dieser Antwort ;) )
     
    Hilarious, 07.08.2005
  3. Jakob

    JakobMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Da wäre er nicht alleine.

    Aber wenn Du den Status der Checkboxen mit PHP abfragst ergibt sich doch in der späteren Berechnung automatisch, welche Felder nicht aktiviert sein können.
     
    Jakob, 08.08.2005
  4. der_Kay

    der_Kay Thread StarterMacUser Mitglied

    Mitglied seit:
    02.09.2004
    Beiträge:
    1.685
    Zustimmungen:
    8
    Danke für den Link! Ich wollte Fehleingaben bereits im Vorfeld verhindern; ist nicht schlimm, wenn es so nicht geht. Dann halt in der Evaluierungsroutine ;)
     
    der_Kay, 08.08.2005
  5. Jakob

    JakobMacUser Mitglied

    Mitglied seit:
    05.01.2004
    Beiträge:
    1.067
    Zustimmungen:
    21
    Du könntest natürlich auch den Eintrag komplett verschwinden lassen, oder ein Skript schreiben, dass der jeweilige Eintrag nicht fokussiert werden kann, aber am End ist das bisschen umständlich für etwas nich so Wichtiges.
     
    Jakob, 08.08.2005
  6. Hilarious

    HilariousMacUser Mitglied

    Mitglied seit:
    25.11.2004
    Beiträge:
    2.161
    Zustimmungen:
    5
    Finde ich auf jeden Fall sicherer. Oder Du machst es besonders über-elegant mit ajax ;)
     
    Hilarious, 08.08.2005
Die Seite wird geladen...
Ähnliche Themen - kleines JavaScript Safari
  1. nicoch
    Antworten:
    2
    Aufrufe:
    284
  2. max@hismac
    Antworten:
    1
    Aufrufe:
    966
  3. fabib
    Antworten:
    9
    Aufrufe:
    959
  4. macbooklover
    Antworten:
    6
    Aufrufe:
    843
  5. flozirkus
    Antworten:
    3
    Aufrufe:
    923
    Benjamin-Do
    30.03.2008