Aller au contenu

Sujets conseillés

Posté

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.

Posté

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.

Posté
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/

Posté

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 ;-)

Posté (modifié)

I speek very mal anglais :smartass:

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é par feyesh

Veuillez vous connecter pour commenter

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



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