Trucsweb.com

Forum de discussion

 Forum « Programmation Javascript » (archives)

Re: Je fais du progrès... en tk j'epère

Envoyé: 8 février 2004, 9h55 par Oznog


Salut,

On est toujours le con de quelqu'un, surtout en programmation alors faut pas s'en faire ;-)

Avant tout ATTENTION au sujet "Je fais du progrès... en tk j'epère" à banir!

Bon, le déboggage c'est un art, mais dans ton cas, il y a tellement d'erreurs que c'est plus simple de partir à zéro. Alors ATTENTION aux erreurs suivantes.

1. TOUJOURS bien former le document avec des manipulations de formulaire. Mettre les balises HTML, HEAD, BODY et particulièrement <form>! Avec son nom bien sûr <form name="commentaires"...

2. ATTENTION de bien prendre le temps de nommer de façon significative tes objets, fonctions, variables etc. Tu as par exemple une fonction "commentaires" et un formulaire "commentaires". C'est d'ailleurs l'erreur principale de ton code, celle qui affiche "erreur de syntaxe". Renomme ta fonction quelque chose comme "AfficheCalque".

3. Un test de condition doit être entièrement entre parenthèse (en Javascript) :

// PAS BON
if (commentaires.Courriel.checked) == true
// BON
if (commentaires.Courriel.checked == true)
// Note que c'est la même chose que
if (commentaires.Courriel.checked)

4. Pendant qu'on y est, le ciblage doit être comme :

// Pas bon
commentaires.Courriel.checked
// Bon
document.forms.commentaires.Courriel.checked

C'est déjà ça. Maintenant, prend l'habitudede réutiliser ce qui fonctionne déjà. Par exemple dans le tutoriel DHTML j'ai fais une fonction, il me semble t'en avoir parlé. La voilà :

<script language="javascript">

var ns4=document.layers
var ie4=document.all
var ns6=document.getElementById&&!document.all

function twAffiche_Cache(nObjet) {
if(ie4) { // Internet explorer
eval(nObjet).style.visibility =
(eval(nObjet).style.visibility=='visible'?'hidden':'visible');
}
else if(ns4) { // Netscape 4.x
document.eval(nObjet).visibility =
(document.eval(nObjet).visibility=='show'?'hidden':'show');
}
else if(ns6) { // Netscape 6 (mozilla)
var divns6 = document.getElementsByTagName("div")
divns6[nObjet].style.visibility =
(divns6[nObjet].style.visibility=='visible'?'hidden':'visible');
}
}

</script>

Tu n'a pas besoin d'autre chose! Elle affiche un calque invisible et l'efface quand il est visible.

Il suffit donc de passer le bon nom de calque! Mais tu le sais déjà (bien que je ne sache à quoi ça peut bien servir)

<input type="checkbox" name="Courriel" onclick="twAffiche_Cache(this.value)" value="courriel"> Courriel
<input type="checkbox" onclick="twAffiche_Cache(this.value)" name="Telephone" value="tel"> Téléphone
<input type="checkbox" onclick="twAffiche_Cache(this.value)" name="Telecopieur" value="telecopieur"> Télécopieur
<input type="checkbox" name="Aucune" value="aucune"> Aucune réponse requise <br>

"this.value" passerra la valeur de la propriété "value". On a pas besoin de plus.

Ciao
Oznog


Réponses

 sp spen lien avec TwValide elwin9/2/2004
 sp spRe: en lien avec TwValide Oznog9/2/2004
 sp spRe: en lien avec TwValide elwin11/2/2004
 sp spRe: en lien avec TwValide Oznog11/2/2004
Aucun médias sociaux
X

Trucsweb.com Connexion

X

Trucsweb.com Mot de passe perdu

X

Trucsweb.com Conditions générales

Conditions

Responsabilité

La responsabilité des Trucsweb.com ne pourra être engagée en cas de faits indépendants de sa volonté. Les informations mises à disposition sur ce site le sont uniquement à titre purement informatif et ne sauraient constituer en aucun cas un conseil ou une recommandation de quelque nature que ce soit.

Aucun contrôle n'est exercé sur les références et ressources externes, l'utilisateur reconnaît que les Trucsweb.com n'assume aucune responsabilité relative à la mise à disposition de ces ressources, et ne peut être tenue responsable quant à leur contenu.

Droit applicable et juridiction compétente

Les règles en matière de droit, applicables aux contenus et aux transmissions de données sur et autour du site, sont déterminées par la loi canadienne. En cas de litige, n'ayant pu faire l'objet d'un accord à l'amiable, seuls les tribunaux canadien sont compétents.

X

Trucsweb.com Trucsweb

X

Trucsweb.com Glossaire

X

Trucsweb.com Trucsweb

X

Trucsweb.com Trucsweb

Conditions

Aucun message!

Merci.

X
Aucun message!
X

Trucsweb.com Créer un compte