Disabled en netscape6

Tinc el següent codi
<SCRIPT>
function deshabilitar()
{
document.formu.select1.disabled=true;
}
function habilitar()
{
document.formu.select1.disabled=false;
}
</SCRIPT>
<BODY>
<FORM>
<INPUT type=text onfocus="habilitar()" onblur="deshabilitar()">
<SELECT name="select1">
</FORM>
</BODY>
El fet és que amb explorer funciona. El netscape es penja si tinc el focus a la capsa de text i, tot seguit, clico amb el ratolí DIRECTAMENT sobre la select. Llavors la select es desplega i el Netscape es penja.
1

1 Respuesta

28.975 pts.
I no es penja. Però puc comprendre la raó... El Netscape te el focus dins un objecte actiu, i la pròpria acció del canvi de focus desactiva el nou objecte actiu... El resultat: ho que s'anomena "condició de cursa" ("race condition", en anglès; no estic segur de la expressió catalana) provocat per un objecte actiu que es desactiva al mateix temps.
La versió de Mozilla amb la que vaig provar el teu codi és la 0.9.1, i pots trobar-la a la adreça: http://www.mozilla.org. Netscape 6.1PR1 va sortir ahir, i no és mès que Mozilla 0.9.1 amb una denominació diferent.
Una qüestió, simple curiositat... ¿Per què vulls fer això? Quan clicas sobre la select, la capsa de text perd el focus, el seu onBlur s'executa y la select es desactiva... Sembla molt estrany...
Si tés altres idees, pregunta'm un altre cop. Salut!
Bruckner
Estic fent un formulari. En un cas vull deshabilitar una select quan una capsa de text estigui buida, pq si no, hi hauria la possibilitat de que l'usuari s'equivoqués i envies dades innecessaries.
Et vaig donar una funció per al onBlur de la capsa de text que marxarà sense problemes:
function checkDisable() {
if (!document.form1.text1.value) document.form1.select1.disabled=true;
else document.form1.select1.disabled=false;
}
Vaig anomenar 'form1' al formulari, 'text1' a la capsa de text y 'select1' a la select. Truca a la funció d'aquesta manera:
<input type="text" name="text1" onBlur="checkDisable()">
Per a assegurar-te de que no es repite el mateix cas (desactivar el select quan agafa el focus), declara-ho DISABLED dins l'HTML (si la capsa de text no té res inicialment, això és com té que estar).
<select ... disabled>
Espero que no tinguis mès problemes... Pregunta'm en tot cas si ho necessitas.
Adéu!
Bruckner

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas