Sarc Posté 1 Novembre 2007 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.
petit-ourson Posté 1 Novembre 2007 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)
Sarc Posté 1 Novembre 2007 Auteur 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
petit-ourson Posté 1 Novembre 2007 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".
Sarc Posté 1 Novembre 2007 Auteur 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
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant