Aller au contenu

Evènement toujours effectué


Sarc

Sujets conseillés

Salut !

Je suis encore dans les prémices de l'apprentissage du javascript...

Car oui, pour le Javascript comme pour le reste, je préfère tout faire moi-même (bon, j'avoue, le drag'n drop c'est pas pour demain...)

J'ai plein de champs 'input' sur une page, et j'aimerais presque tous les cacher (à condition que le javascript soit activé sur la machine)...

J'aurais bien aimé faire un :

 <input type="text" name="blabla58" onload="this.style.display='none'" size="2" maxlength="1">

Mais apparamment, ça ne marche pas pour les input...

Comment faire ? Help.

Lien vers le commentaire
Partager sur d’autres sites

Je pense qu'il est préférable d'utiliser cette solution : http://forum.alsacreations.com/topic-5-193...ml.html#p146404

Entre tes balises <head></head> (ou un fichier javascript externe)

function addEvent(oElem, sEvType, fn, bCapture)

{

return oElem.addEventListener?

oElem.addEventListener(sEvType, fn, bCapture):

oElem.attachEvent?

oElem.attachEvent('on' + sEvType, fn):

oElem['on' + sEvType] = fn;

}

function MasquerElements() {
window.document.getElement('input1').style.display = 'none';
}

addEvent(window, 'load', MasquerElements, false);

En modifiant ton formulaire :

<input id="input1" type="text" name="blabla58" onload="this.style.display='none'" size="2" maxlength="1">

Un début de solution à optimiser. ;o)

Lien vers le commentaire
Partager sur d’autres sites

Le seul problème, c'est que je ne connais pas la gueule a priori de l'id et du name de mes éléments... C'est pour ça que j'aimerais directement appliquer une fonction sur eux, en utilisant le "this", pour éviter de stocker tous les noms de mes champs...

En gros, j'ai moultes champs, qui peuvent prendre environ 2000 valeurs différentes de name, et j'ai pas envie de toutes les essayer ni de stocker en JS celles que j'utilise.

Mais vu que j'ai une connaissance réduite du JS, je pense qu'il y a moyen de passer outre et de faire autrement, mais je sais pas comment :P

Lien vers le commentaire
Partager sur d’autres sites

Tu mets un id sur ton <form> et dans la fonction tu utilises :

function MasquerElements() {

for(var i=0;i<window.document.getElement('form').length;i++) {

if(window.document.getElement('form').elements[i].className == 'invisible' )
window.document.getElement('form').elements[i].style.display = 'none';

}

}

Et tu ajoutes sur tes champs à cacher : class="invisible".

Lien vers le commentaire
Partager sur d’autres sites

Hum, j'ai réussi à trouver plus simple finalement, ouf !

Elle est donnée dans un autre sujet du Hub en plus, que Google m'a trouvé :P

C'est toi qui m'a donné l'idée, avec ta class !

J'ai trouvé un membre qui cherchait un GetElementByClass qui n'existait pas...

Mais est donnée la solution :

for (i=0; i<document.getElementsByTagName("*").length; i++) {
if (document.getElementsByTagName("*").item(i).className == "nomdelaclasse"){
document.getElementsByTagName("*").item(i).style.display="none";
}
}

Merci à toi, et indirectement aux autres de l'autre sujet ;)

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...