Comment griser un formulaire à partir d'une case cochée?
Dernière réponse : dans Programmation
Citation :
Davidoux94Bonsoir.
J'ai édité mon premier message afin d'alléger le topic.
Je vous remercie beaucoup de m'avoir aidé : maintenant tout marche bien.
J'ai une autre question, mais j'ignore si je dois posté dans ce même topic ou non. Qu'on m'excuse si ce n'est pas le cas.
Je voudrais que l'entièreté du questionnaire soit "grisé" (cad non remplissable) dans le cas ou la personne cocherais "non" à la première question. Comment puis-je procéder?
Encore merci pour vos conseil : c'est très sympa.
Citation :
crazycatpeut-être qu'en ajoutant l'attribut "disabled" ça peut marcher, mais il faut faire ça en javascript.
Citation :
okinoutu rajoute sur les input : disabled="disabled"
En javascript pour "tout" activer d'un coup, ou une condition php en + sur les input.
Et le mieux est de cree un sujet différent par probleme, sinon on ne s'en sort plus.
Citation :
crazycat
heu, disabled n'a pas d'argument.
en javascript, c'est document.form.element.disabled = true;
en html: <input type="machin" name="bidule" disabled />
---------------
L'homme est un loup level 14 pour l'homme.
Re-bonjour, et merci de tenter de me répondre.
Donc, grosso modo, je dois placer la balise disabled devant mes input?
Mais comment l'ordi va-t-il comprendre qu'en cliquant précisément la case n°1, les cases n°2 à 12 devront se griser?
Dans l'exemple suivant, comment puis-je appliquer cette méthode?
Citation :
<?php$validation=0;
if($valider) {
if(!$sexe || !$age || !$seduit || !$moment || !$seances || !$materiel || (!$lundi && !$mardi && !$mercredi && !$jeudi && !$vendredi && !$nimportedi) || (!$sportype0 && !$sportype1 && !$sportype2 && !$sportype3 &&!$sportype4 && !$sportype5) || $budget=='' ) {
echo "<font color='red'>Vous devez répondre à toutes les questions, merci!</font><br>";
} else {
if($seduit=='oui') {
echo "<font color='red'>Vous devez répondre à toutes les questions, merci!</font><br>";
} else {
echo "Merci de votre contribution et à très bientot !!<br><br>";
$validation=1;
}
}
}
if($validation==1) {
$mail="VOUS
Vous etes : $sexe
Votre age : $age
Seriez-vous seduit(e) par la mise en place de seances de sport sur votre site de travail? : $seduit
A quel moment de la journee prefereriez-vous les seances? : $moment
Combien de seances hebdomadaires vous conviendraient le mieux? : $seances
Quels jours de preference? : $lundi $mardi $mercredi $jeudi $vendredi $nimportedi
Type de sport? $sportype0 $sportype1 $sportype2 $sportype3 $sportype4 $sportype5
Prefereriez vous que le materiel soit fourni ou amener le votre ? : $materiel
Quel budget maximum annuel seriez-vous pret(e) a investir dans ces seances ? : $budget";
?>
Merci à tous.
Autres pages sur : griser formulaire partir case cochee
Lassé par la pub ? Créez un compte
bon, je vais essayer de fairce ça simplement et proprement.
Tout d'abord, on va partir du principe que la case à cocher "utile" s'appelle "interet".
le code html de ta case doit être:
<input type="checkbox" name="interet" onchange="bascule(this);" />
Et c'est la fonction bascule() qui va tout faire:
Bon, c'est pas optimisé ni testé, c'est fait de tête, mais ça doit donner un truc dans le genre
Tout d'abord, on va partir du principe que la case à cocher "utile" s'appelle "interet".
le code html de ta case doit être:
<input type="checkbox" name="interet" onchange="bascule(this);" />
Et c'est la fonction bascule() qui va tout faire:
function bascule(checkfield) {
case = eval(checkfield);
for (i=0;i<document.form.elements.length;i++) {
if (document.form.elements[i].name!="interet") {
if (case.checked == true) document.form.elements[i].disabled = false;
else document.form.elements[i].disabled = true;
}
}
}
Bon, c'est pas optimisé ni testé, c'est fait de tête, mais ça doit donner un truc dans le genre
J'ai essayé ce qui suit, mais cela ne fonctionne pas.
J'ai l'erreur suivante : "Parse error: parse error, unexpected T_STRING, expecting ')' in /homepages/8/d154407087/htdocs/questionnaire241.php on line 3".
Selon vous, quel est le probleme?
Voici le code PHP que je viens de mettre :
<?php
function bascule(checkfield) {
case = eval(checkfield);
for (i=0;i<document.form.elements.length;i++) {
if (document.form.elements.name!="interet" ) {
if (case.checked == true) document.form.elements.disabled = false;
else document.form.elements.disabled = true;
}
}
}
$validation=0;
if($valider) {
if(!$sexe || !$age || !$interet || !$moment || !$seances || !$materiel || (!$lundi && !$mardi && !$mercredi && !$jeudi && !$vendredi && !$nimportedi) || (!$sportype0 && !$sportype1 && !$sportype2 && !$sportype3 &&!$sportype4 && !$sportype5) || $budget=='' ) {
echo "<br><br><br><br><br><br><br><br><div align=center><font size=+1 face='Arial, Helvetica, sans-serif'>Il semblerait que vous ayez oublié de répondre à une ou plusieurs questions...<br><br><br>Utilisez la fonction page précédente de votre navigateur pour compléter votre formulaire. Merci.</font></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
} else {
if($seduit=='oui') {
echo "<br><br><br><br><br><br><br><br><div align=center><font size=+1 face='Arial, Helvetica, sans-serif'>Il semblerait que vous ayez oublié de répondre à une ou plusieurs questions...<br><br><br>Utilisez la fonction page précédente de votre navigateur pour compléter votre formulaire. Merci.</font></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
} else {
echo "<br><div align=center><br><br><br><br><font size=+3 face='Arial, Helvetica, sans-serif'>*****************************************************</font><br><br><font size=+4 face='Arial, Helvetica, sans-serif'>www.sport-pros.com</font> <font size=+1 face='Arial, Helvetica, sans-serif'> <br><br>Nos coachs sportifs au service des entreprises comme des particuliers.</font><br><br><br><font size=+3 face='Arial, Helvetica, sans-serif'>*****************************************************</font><br><br><br><font size=+1 face='Arial, Helvetica, sans-serif' color=green>Merci de votre contribution et à très bientot!</font><p></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
$validation=1;
}
}
}
if($validation==1) {
$mail="VOUS
Vous etes : $sexe
Votre age : $age
Seriez-vous seduit(e) par la mise en place de seances de sport sur votre site de travail? :$interet
A quel moment de la journee prefereriez-vous les seances? : $moment
Combien de seances hebdomadaires vous conviendraient le mieux? : $seances
Quels jours de preference? : $lundi $mardi $mercredi $jeudi $vendredi $nimportedi
Type de sport? $sportype0 $sportype1 $sportype2 $sportype3 $sportype4 $sportype5
Prefereriez vous que le materiel soit fourni ou amener le votre ? : $materiel
Quel budget maximum annuel seriez-vous pret(e) a investir dans ces seances ? : $budget";
}
?>
Et voici le code html comme je l'ai modifié :
la mise en place de séances de sport et/ou de décontraction sur votre site de travail?</font><br>
<font face='Times New Roman, Times, serif'>
<input type='radio' name='seduit' value='oui'
<?php if($interet=='oui') echo " checked";?>
>
Oui.
<input type="checkbox" name="interet" onchange="bascule(this);" value='non'/>
<?php if($interet=='non') echo " checked";?>
>
Non.</font><br><br>
Merci de vos indices.
J'ai l'erreur suivante : "Parse error: parse error, unexpected T_STRING, expecting ')' in /homepages/8/d154407087/htdocs/questionnaire241.php on line 3".
Selon vous, quel est le probleme?
Voici le code PHP que je viens de mettre :
Citation :
<?php
function bascule(checkfield) {
case = eval(checkfield);
for (i=0;i<document.form.elements.length;i++) {
if (document.form.elements.name!="interet" ) {
if (case.checked == true) document.form.elements.disabled = false;
else document.form.elements.disabled = true;
}
}
}
$validation=0;
if($valider) {
if(!$sexe || !$age || !$interet || !$moment || !$seances || !$materiel || (!$lundi && !$mardi && !$mercredi && !$jeudi && !$vendredi && !$nimportedi) || (!$sportype0 && !$sportype1 && !$sportype2 && !$sportype3 &&!$sportype4 && !$sportype5) || $budget=='' ) {
echo "<br><br><br><br><br><br><br><br><div align=center><font size=+1 face='Arial, Helvetica, sans-serif'>Il semblerait que vous ayez oublié de répondre à une ou plusieurs questions...<br><br><br>Utilisez la fonction page précédente de votre navigateur pour compléter votre formulaire. Merci.</font></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
} else {
if($seduit=='oui') {
echo "<br><br><br><br><br><br><br><br><div align=center><font size=+1 face='Arial, Helvetica, sans-serif'>Il semblerait que vous ayez oublié de répondre à une ou plusieurs questions...<br><br><br>Utilisez la fonction page précédente de votre navigateur pour compléter votre formulaire. Merci.</font></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
} else {
echo "<br><div align=center><br><br><br><br><font size=+3 face='Arial, Helvetica, sans-serif'>*****************************************************</font><br><br><font size=+4 face='Arial, Helvetica, sans-serif'>www.sport-pros.com</font> <font size=+1 face='Arial, Helvetica, sans-serif'> <br><br>Nos coachs sportifs au service des entreprises comme des particuliers.</font><br><br><br><font size=+3 face='Arial, Helvetica, sans-serif'>*****************************************************</font><br><br><br><font size=+1 face='Arial, Helvetica, sans-serif' color=green>Merci de votre contribution et à très bientot!</font><p></div><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>";
$validation=1;
}
}
}
if($validation==1) {
$mail="VOUS
Vous etes : $sexe
Votre age : $age
Seriez-vous seduit(e) par la mise en place de seances de sport sur votre site de travail? :$interet
A quel moment de la journee prefereriez-vous les seances? : $moment
Combien de seances hebdomadaires vous conviendraient le mieux? : $seances
Quels jours de preference? : $lundi $mardi $mercredi $jeudi $vendredi $nimportedi
Type de sport? $sportype0 $sportype1 $sportype2 $sportype3 $sportype4 $sportype5
Prefereriez vous que le materiel soit fourni ou amener le votre ? : $materiel
Quel budget maximum annuel seriez-vous pret(e) a investir dans ces seances ? : $budget";
}
?>
Et voici le code html comme je l'ai modifié :
Citation :
<font face='Arial, Helvetica, sans-serif'>Seriez-vous séduit(e) par la mise en place de séances de sport et/ou de décontraction sur votre site de travail?</font><br>
<font face='Times New Roman, Times, serif'>
<input type='radio' name='seduit' value='oui'
<?php if($interet=='oui') echo " checked";?>
>
Oui.
<input type="checkbox" name="interet" onchange="bascule(this);" value='non'/>
<?php if($interet=='non') echo " checked";?>
>
Non.</font><br><br>
Merci de vos indices.
En ce cas, m'est-il possible de ne PAS PROCÉDER aux vérification des champs avant l'envoi du formulaire.
Mon probleme vient du fait que les personnes répondant NON à la 1ere question doivent, dans le cas actuel, obligatoirement répondre à TOUTES les questions, même si elles ne sont pas interessées. Ce qui donne des résultats plutot farfelus.
Merci beaucoup de vos conseils.
Mon probleme vient du fait que les personnes répondant NON à la 1ere question doivent, dans le cas actuel, obligatoirement répondre à TOUTES les questions, même si elles ne sont pas interessées. Ce qui donne des résultats plutot farfelus.
Merci beaucoup de vos conseils.
La question initiale est : seriez vous séduit par des cours de sport?
Là deux réponse possibles : soit OUI, et dans ce cas il faut continuer le questionnaire, soit non, et alors le reste du questionnaire passe en "grisé", à l'exception du bouton "valider le questionnaire".
Coca 25, dans la proposition que tu fais, il faut nécessairement du java? non?
Là deux réponse possibles : soit OUI, et dans ce cas il faut continuer le questionnaire, soit non, et alors le reste du questionnaire passe en "grisé", à l'exception du bouton "valider le questionnaire".
Coca 25, dans la proposition que tu fais, il faut nécessairement du java? non?
donc c'est un traitement qui se fait au niveau du client, donc en javascript (ou alors recharger la page)
javascript n'est pas du java, il te faut rien du tout, c'est au niveau du browser qu'utilise l'utilisateur de ton site que ca se fait.
moi j'ai rien proposé
, j'ai juste corrigé l'emplacement du checked et de la fonction bascule.
crazycat t'avait deja propose le bon choix.
documentes toi sur le javascript, au hasard regarde ce lien:
http://www.aidoforum.com/tutoriaux-142-griser-un-bouton...
(le premier sur google avec "griser formulaire")
javascript n'est pas du java, il te faut rien du tout, c'est au niveau du browser qu'utilise l'utilisateur de ton site que ca se fait.
moi j'ai rien proposé
, j'ai juste corrigé l'emplacement du checked et de la fonction bascule.crazycat t'avait deja propose le bon choix.
documentes toi sur le javascript, au hasard regarde ce lien:
http://www.aidoforum.com/tutoriaux-142-griser-un-bouton...
(le premier sur google avec "griser formulaire")
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :
- ForumVerifier existence objet javascript
- ForumCode javascript espace membre site
- ForumJavascript inserer lien javascript dans url
- ForumScript formulaire html javascript
- ForumJavascript erreur internet explorer
- ForumPhp mailto piece jointe
- ForumApplet java - javascript
- ForumSite lent sur internet explorer 8 javascript
- ForumHtml ouvrir et fermer une frame javascript
- ForumCopier coller en javascript jquery
- Voir plus