fonction qui pose probleme

fonction qui pose probleme - HTML/CSS - Programmation

Marsh Posté le 18-12-2002 à 13:04:29    

Merci à tout ceux qui m'ont aidés au précédent post. Celui la est du meme genre. J'utilise quatre javascripts presque similaires pour cocher/décocher plusieurs cases d'un formulaire en meme temps.
 

Code :
  1. <SCRIPT LANGUAGE="JavaScript">
  2. function pseudonone() {
  3. len = (document.pseudo_email.elements.length - 6) / 2;
  4. for (i=0;i!=len;i++)
  5. {
  6. checkbox = "document.pseudo_email.pseudo_" + i + ".checked=0";
  7. eval(checkbox);
  8. }
  9. }
  10. </SCRIPT>


 
Ce script coche donc les cases pseudo_X où X=[1...(max-6)/2] avec max le nombre total de cases du formulaires (le 6 correspond aux boutons, le /2 correspond au cases email_X).
 
J'appelle ces scripts comme ceci :
 

Code :
  1. <INPUT TYPE="button" NAME="pseudo_none" value="ANY" OnClick="javascript:pseudonone();">


 
Ca me semble correct... ca marche bien sous IE6 je n'ai constaté aucun bug. Maintenant sous Opera 6, chaque fois que j'utilise une de ces fonctions, elle s'éxecute mais ensuite tous les javascripts ne marchent plus et il faut rafraichir la page pour les reutiliser à nouveau. A noter que les autres javascripts de la page fonctionne et ne bloque pas après execution comme ces quatre fonctions là. Quelqu'un sait d'ou vient mon probleme et comment le resoudre ?
 
Je les appelle comme ceci

Reply

Marsh Posté le 18-12-2002 à 13:04:29   

Reply

Marsh Posté le 18-12-2002 à 14:28:02    

souliane a écrit :

document.pseudo_email

document.getElementById('pseudo_email';)

Reply

Marsh Posté le 18-12-2002 à 17:17:49    

avec ie, ca marche nickel. avec opera, c un peu mieux : ca "plante" pas le javascript, mais ca marche pas du tout (uniquement les quatre fonctions).
 
J'ai oublié de préciser dans le premier message que pseudo_email etait le nom du formulaire...
 
Voila donc la nouvelle fonction :
 

Code :
  1. function pseudonone() {
  2. var len = (document.pseudo_email.elements.length) /2;
  3. for (i=0;i!=len;i++){document.getElementById("pseudo_" + i).checked=0;}
  4. }


 
PS : j'ai enlevé du formulaire les boutons inutiles

Reply

Marsh Posté le 18-12-2002 à 17:55:18    

souliane a écrit :

var len = (document.pseudo_email.elements.length) /2;

document.getElementByMachin() pour récupérer une balise, quelle qu'elle soit.

Reply

Marsh Posté le 18-12-2002 à 23:44:02    

... Je comprend pas comment ca marche :/

Reply

Marsh Posté le 19-12-2002 à 07:15:31    

souliane a écrit :

... Je comprend pas comment ca marche :/

faire  
 
document.pseudo_email.elements...
 
est un raccourci d'ie. ça ne marchera donc pas ailleurs.
 
faire
 
document.getElementById('pseudo_email';).elements...
 
est la méthode W3, ça marchera sur les navigateurs compatibles.
 
http://www.w3.org/TR/2000/REC-DOM- [...] /core.html

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed