cs_Vins974
Messages postés104Date d'inscriptionlundi 19 janvier 2009StatutMembreDernière intervention20 février 2009
-
21 janv. 2009 à 06:54
cs_Vins974
Messages postés104Date d'inscriptionlundi 19 janvier 2009StatutMembreDernière intervention20 février 2009
-
22 janv. 2009 à 11:55
Bonjour,
J'ai créé un formulaire, qui doit etre rempli par les utilisateurs
de mon site, Cependant, je voudrais que le bouton soit grisé par
défault, et que lorsque tous les champs soit rempli, il se dégrise de
façon à ce qu'on puisse cliquer sur le bouton.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 21 janv. 2009 à 09:05
Salut,
Il te faut faire une fonction Javascript du genre :
function control () {
/* contrôle sur tous les champs du formulaire. Là ça dépend des données de ton formulaire et de ce que tu souhaites contrôler */
si OK => document.getElementById('sub').disabled = false;
si pas OK => document.getElementById('sub').disabled = true;
}
Le bouton de validation :
Le mieux reste d'appeler la fonction à intervalles réguliers (1,2 sec).
cs_Vins974
Messages postés104Date d'inscriptionlundi 19 janvier 2009StatutMembreDernière intervention20 février 2009 21 janv. 2009 à 12:39
Ca marche merci. Mias c'est dommage car quand je tape toujours dans la zone de texte elle se dégrise pas tout de suite, il faut que je clique d'abord à côté.. Si tu connais la solution, se serait cool. Merci
[ 'Tu trouveras toujours plus fort que toi' ]
Vous n’avez pas trouvé la réponse que vous recherchez ?
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 21 janv. 2009 à 17:18
Excuse pour la lenteur, je suis au boulot. Avec, onFocus ou onSelect dés que l'utilisateur cliqueras dans la zone texte ton bouton se dégrisera mais même s'il n'a rien tapé. Le mieux serait onKeyUp ou onKeyPress ou onKeyDown.
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 21 janv. 2009 à 22:31
Ne connaissant pas ton formulaire je proposais de lancer la fonction a intervals réguliers pour éviter de gérer les différents événements liés aux types. Si tu n'as que 2, 3 champs il vaut mieux gérer unitairement. Par contre le contrôle que tu fais (comme le dis implicitement gr43) ne sert à rien car il est beaucoup trop simple. En somme il n'a aucun intérêt. Je pense que tu devrais contrôler les impératifs que tu t'ai fixés avant de rendre actif le bonton (nombre de caractères, etc ...)
cs_Vins974
Messages postés104Date d'inscriptionlundi 19 janvier 2009StatutMembreDernière intervention20 février 2009 22 janv. 2009 à 06:03
D'accord, mais ce formulaire, c'est le plus simple. J'en ai beaucoup d'autre de formulaire dans mon site, et il y en a, qui en on même une particularité, c'est qu'il se dégrise, pas quand TOUS les champs sont pleins. Ca dépend. Je vous envoi le formulaire pour que vous comprenez mieux.
<form action="ajoutinter.php" method='post'><!-- formulaire -->
<!-- tableau sans bordure pour organiser et tout aligner -->
----
Type d'intervention* :,
<select style="width: 320" name="type"><!-- Liste deroulante, permettant de choisir les types -->
<option>< Type ></option>
<?php
while ($ligne2=mysql_fetch_array($resultat))
{
?>
<option>
<?php
echo ''.$ligne['Libelle_type'].'';
?>
</option>
<?php
}
?>
</select>
,
----
Libelle d'intervention* :,
, <!-- zone de texte -->
----
Durée (en minutes)* :,
, <!-- zone de texte n'autorisant uniquement la saisie de chiffres-->
----
Date début* :,
<?php include ("fonctioncalendrier.php");?>,
----
Date fin :,
<?php include ("fonctioncalendrier.php");?>,
<center>
<!-- bouton ajouter une intervention -->
</center>
</form>
Voila et j'aimerais que le bouton valider soit griser par défault et qu'il se dégrise lorsque tous les champs soit remplis à l'exception du dernier input qui a pour name="date_fin" .. Ce champ n'est pas obligatoire en fait.
Merci
[ 'Tu trouveras toujours plus fort que toi' ]
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 22 janv. 2009 à 10:44
Salut, tu peux faire un onKeyPress sur chaque element que tu veux obligatoire avec un test adéquate (nombre, string, tel, mail...) et dés que le champ correspond à tes exigences tu stocke si le champs est correct dans une variable globale. Si tu as 3 champs obligatoires, tu n'affiche ton bouton que si t'as variable globale possède les 3 id des champs obligatoire (chaque fonction des champs obligatoires appel une fonction générique qui vérifie la valeur de la var globale et affiche le bouton valider si =ok). Il faut par contre supprimer de ta variable globale l'id de ton champ suite à une modif d'un champ correct qui ne le serait plus. Attention cependant à vérifier également en php la valeur des champs car le javascript n'est pas une solution de controle fiable et puis si ton utilisateur n'accepte pas le js, il ne pourra pas valider ton formulaire implicetement tout du moins.
Je suis pas sûr d'avoir été bien claire....
cs_Vins974
Messages postés104Date d'inscriptionlundi 19 janvier 2009StatutMembreDernière intervention20 février 2009 22 janv. 2009 à 11:11
Arf, jte remercie beaucoup, mais je vois ce que tu me dit de faire, mais jarrive pas à traduire ça en code PHP .. Ben tant pis, merci quand même. C'est aussi compliqué que ça !!!!???
gr43
Messages postés95Date d'inscriptionmardi 20 mai 2008StatutMembreDernière intervention 8 septembre 2010 22 janv. 2009 à 11:25
Non, c'est du js. Tu devrais pouvoir trouver des classes ou fonction js existante sur le web mais en générale on stocke les erreurs des différents champs et lors du click sur le bouton on affiche la cause des erreurs avec une modal (alert ou personnalisée, car plus sympa estétiquement) puis on retraite côté php.