Sarc Posté 1 Novembre 2007 Partager Posté 1 Novembre 2007 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 More sharing options...
petit-ourson Posté 1 Novembre 2007 Partager Posté 1 Novembre 2007 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 More sharing options...
Sarc Posté 1 Novembre 2007 Auteur Partager Posté 1 Novembre 2007 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 Lien vers le commentaire Partager sur d’autres sites More sharing options...
petit-ourson Posté 1 Novembre 2007 Partager Posté 1 Novembre 2007 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 More sharing options...
Sarc Posté 1 Novembre 2007 Auteur Partager Posté 1 Novembre 2007 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é 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 More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant