Probleme javascript et IE - HTML/CSS - Programmation
Marsh Posté le 25-06-2008 à 14:25:34
bonjour à toutes et à tous,
<body>
<script type="text/javascript">
function Dis(chk,champs){
document.getElementById(champs).disabled = !chk.checked;
}
</script>
code HTML :
checkbox qui apelle la fonction :
<input type="checkbox" value="FR" id="FR" onchange="Dis(this,'nameFR')" checked="true">
code du champ du formulaire :
<input type="text" size="25" maxlength="100" id="nameFR" name="nameFR">
</body>
si j'ai compris ce que tu veux faire....
@+
Marsh Posté le 25-06-2008 à 14:28:25
ton script marche aussi nickel mais j'ai toujours le probleme qu'il ne passe pas sous internet explorer
Il me semble avoir lu aussi qqpart que le disabled ne passait pas sous IE en fait
Marsh Posté le 25-06-2008 à 14:45:15
si, si ( l'impératrice ) :
ça baigne avec IE7 ( et je parierais bien avec les IE précédents ! )
si tu veux dire qu'il n'est pas grisé... certes,
mais saisir ou pas est bien pris en compte
( pour griser regarde readOnly )
tu as essayé l'exemple donné tel quel ?
ton erreur, sinon est ailleurs,
avec IE :
activer le deboggage : Outils/options Internet/Avancés
dans la liste, sous "Navigation" : décocher
o Afficher une notification de chaque erreur de script
o Désactiver le débogage de Scripts (Internet Explorer)
et mieux, : télécharger le Debogger IE
voir aussi : DebugBar et Companion JS
@+
Marsh Posté le 25-06-2008 à 14:47:21
t'avais raison je pensais que ce serait grisé comme sous FF donc la ca marche bien. Mais qu'est que tu veux dire avec le readOnly ?
J'ai egalement un autre probleme j'ai une seconde fonction js qui permet aux checkbox de se cocher automatiquement et aux champs de s'activer automatiquement lorsqu'il y'a une valeur dedans que l'on recupere grâce a la base de donnée mais cette fonction ne marche pas sous ie mais bien sous FF
code de la fonction : *
function test(){
if((document.getElementById('nameFR').value)!=''){
document.nameFR.disabled=false;
document.FR.checked=true;
}
if((document.getElementById('nameFR').value)==' '){
document.nameFR.disabled=true;
document.FR.checked=false;
}
}
J'apelle cette fonction avec onLoad="javascript:test()"
Marsh Posté le 25-06-2008 à 14:52:29
je voulais même dire :
|
Marsh Posté le 25-06-2008 à 15:05:20
dèjà :
document.nameFR.disabled ? c'est quoi ?
il ne connais pas ( et avec FF, ça plante pire ! )
et le champ ne peut pas être vide au chargement ?
et très curieux ces tests ( en rouge ? )
if((document.getElementById('nameFR').value)!=''){
document.nameFR.disabled=false;
document.FR.checked=true;
}
if((document.getElementById('nameFR').value)==' '){
document.nameFR.disabled=true;
document.FR.checked=false;
}
}
quand readOnly, ça permet de ne pas
autoriser l'écriture dans un champ ( et ça le grise )
Marsh Posté le 25-06-2008 à 15:20:19
if((document.getElementById('nameFR').value)!=''){
document.nameFR.disabled=false;
document.FR.checked=true;
}
if((document.getElementById('nameFR').value)==' '){
document.nameFR.disabled=true;
document.FR.checked=false;
}
}
ces 2 tests permettent de savoir si le champ n'est pas vide afin de cocher la checkbox correspondente
les champs peuvent etre remplis grace a la base de donnee et la parfois les champs sont remplis et le champ inactif et la checkbox non cochee
Marsh Posté le 25-06-2008 à 15:27:11
je supputais bien...
alors : pourquoi "2 accés" aux champs différentes ? getElementById et l'autre manière ( invalide d'ailleurs )
et tester ' ', ce n'est pas tester si c'est rempli....
if((document.getElementById('nameFR').value)!=''){
document.getElementById('nameFR').disabled=false;
document.getElementById('FR').checked=true;
}
else{
document.getElementById('nameFR').disabled=true;
document.getElementById('FR').checked=false;
}
pas testé, mais pas loin ;o)
on peut s'adresser aux champss avec document.name_du_formulaire.name_du_champ s'il a un name
et avec document.getElementById('id_du_champ') s'il a un id
ie sachant remplacer l'un par l'autre si nécessaire, pas FF.
@+
Marsh Posté le 25-06-2008 à 15:33:03
Merci beaucoup ca a l'air de marcher nickel
Jte remercie de ta patience a bientot
Marsh Posté le 25-06-2008 à 14:08:45
Bonjour,
J'ai un probleme avec une fonction javascript sous internet explorer. En effet celle-ci fonctionne tres bien sous firefox mais ne fonctionne pas du tout sous ie.
Cette fonction permet d'activer un champ d'un formulaire lorsqu'une checkbox est cochée voici le coode :
<script type="text/javascript">
function Dis(champs){
var Obj = document.getElementById(champs);
if (Obj.disabled == false){
Obj.disabled = true;
}else{
Obj.disabled = false;
}
}
</script>
code HTML :
checkbox qui apelle la fonction :
<input type="checkbox" value="FR" id="FR" onchange="Dis('nameFR')" checked="true">
code du champ du formulaire :
<input type="text" size="25" maxlength="100" id="nameFR" name="nameFR">
Merci d'avance pour vos reponse