feyesh Posté 27 Février 2009 Posté 27 Février 2009 Bonjour à toutes et à tous. J'utilise niceforms pour mes formulaires. Sincèrement, je ne connais pas grand chose au javascript, mise à part qu'il faut ajouter le code ci dessous pour vider la valeur par défaut de mon champs de formulaire : onfocus="this.value='';"/> Alors voila, je code en xhtml strict et j'utilise niceforms et le code ci dessus ne fonctionne pas. Que faut il modifier pour arriver à mes fins ? Est ce le fichier niceforms.js ? est ce l'encodage qui ne convient pas ? Merci d'avance pour vos réponses.
captain_torche Posté 27 Février 2009 Posté 27 Février 2009 Techniquement, c'est censé fonctionner. A tout hasard, tu n'aurais pas désactivé JavaScript dans ton navigateur ? Il faudrait que tu nous montres le code de toute la balise pour être sûr. Sinon, cette solution est inélégante au possible, et désastreuse en termes d'accessibilité : il suffit que je reclique sur un champ après l'avoir rempli, pour qu'il se vide automatiquement (Et je ne parle même pas de la navigation au clavier). Un truc propre serait de laisser le champ vide, puis de lui attribuer une valeur en JS. Au focus, si jamais la valeur est égale à la valeur par défaut, on vide le champ.
blman Posté 27 Février 2009 Posté 27 Février 2009 Attention: These will overwrite any other custom onfocus and/or onblur events that you may have set up for the text-type input fields. To solve this issue you will have to integrate those custom functions within the ones from Niceforms. The same applies to all other form elements that require additional event handling functions (more about this in the next section). http://www.emblematiq.com/projects/niceforms/support/
feyesh Posté 27 Février 2009 Auteur Posté 27 Février 2009 Merci pour ta réponse rapide Captain' ;-) j'ai fais le test sous firefox et ie7, aucun des deux ne fonctionnent , js n'est pas désactivé . Voila mon code. Mais il y a aussi un fichier "niceforms.js" qui interfère peut être ? <form action="simulation.php" method="post" class="niceform"><p><img src="chiffre1.gif" alt="" width="22" height="22" /> Vous êtes : <select size="1" id="logement" name="logement" class="width_100"><option>Proprietaire</option><option>Locataire</option><option>loge a titre gratuit</option></select></p><table class="c1" cellpadding="0" cellspacing="0" width="722"><tr><td class="c1"><p><img src="chiffre2.gif" alt="" width="22" height="22" /> Votre besoin en financement</p><br /> Pret immobilier : <input type="text" name="pretimmo" maxlength="10" size="10" class="textinput" value="montant" onFocus=(this.value="";)> Je tenterai bien ta solution propre , mais je ne sais pas comment l'appliquer ;-)
feyesh Posté 27 Février 2009 Auteur Posté 27 Février 2009 (modifié) http://www.emblematiq.com/projects/niceforms/support/ I speek very mal anglais J'ai effectué la traduction avec Google, en gros si j'ai bien compris il faut ajouter la fonction dans le js ? Le pb c'est que je suis ultra noob en js. Je ne connais pas la syntaxe qui permet d'appeler la fonction. J'ai trouvé ça dans le js niceforms : function replaceTexts() { for(var q = 0; q < texts.length; q++) { texts[q].style.width = texts[q].size * 10 + 'px'; txtLeft = document.createElement('img'); txtLeft.src = imagesPath + "input_left.gif"; txtLeft.className = "inputCorner"; txtRight = document.createElement('img'); txtRight.src = imagesPath + "input_right.gif"; txtRight.className = "inputCorner"; texts[q].parentNode.insertBefore(txtLeft, texts[q]); texts[q].parentNode.insertBefore(txtRight, texts[q].nextSibling); texts[q].className = "textinput"; //create hovers texts[q].onfocus = function() { this.className = "textinputHovered"; this.previousSibling.src = imagesPath + "input_left_xon.gif"; this.nextSibling.src = imagesPath + "input_right_xon.gif"; } texts[q].onblur = function() { this.className = "textinput"; this.previousSibling.src = imagesPath + "input_left.gif"; this.nextSibling.src = imagesPath + "input_right.gif"; } }} Faut il ajouter quelque chose dans la section " texts[q].onfocus = function ..." Modifié 27 Février 2009 par feyesh
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant