question formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : question formulaire

Re: question formulaire

par sirakawa » 22 sept. 2011, 09:42

J'aurais dû expliquer le js dès le début...
Le paramètre id est là pour choisir quelle case on doit traiter:
le paramère option est pour montrer/cacher
On pourrait étendre en développant le premier if...

Code : Tout sélectionner

function enrichir (id, option) { if (id == 1)// si id vaut 1 on traite 'élément 'd' { id ='d'; // les noms 'd' et 'd1' sont liés aux noms qu'on veut manipuler... } else// si id vaut autre chose que 1 on traite l'élémen 'd1' { id = 'd1'; } if (option == 1)// montrer l'élément qu'on vient de choisir { document.getElementById(id).style.visibility="visible"; } else // cacher l'élément qu'on vient de choisir { document.getElementById(id).style.visibility="hidden"; } }
Il suddit donc que tu appelles enrichir(2,1) pour manipuler l'élément 'd1'

Re: question formulaire

par wallice » 21 sept. 2011, 22:28

Est-ce que je ne devrais pas mettre <div id= et changer la lettre d par une autre, et faire un nouveau js avec cette nouvelle lettre?

Re: question formulaire

par wallice » 21 sept. 2011, 22:25

Super, ça fonctionne!!
Par contre, j'ai mis la même formule pour une autre question, mais la case apparait...à la question précédente!!!
Quel est l'élément que je dois changer à chaque fois?
Encore merci

Re: question formulaire

par sirakawa » 21 sept. 2011, 20:03

Désolée mais je me sens vraiment nulle!!
J'ai mis ça, est-ce que c'est bon?
<p id="bouton3"><label>Où avez-vous accouché?</label></br>
		<input type="radio" name="bouton3" value="CHU de Rennes"/>CHU de Rennes<br>
		<input type="radio" name="bouton3" value="Clinique de la sagesse"/>Clinique de la sagesse<br>
		<input type="radio" name="bouton3" value="Centre Hospitalier Privé St Grégoire"/>Centre Hospitalier Privé St Grégoire<br>
		<input type="radio" onclick="enrichir(1, 0)" name="bouton3" value="autre">Autre<br />
		<div id="d" class="cellule" style="visibility:hidden">
		<input  type="text"[b] id="bouton3_bis"[/b] name="bouton3_bis"/>
		</div>
et j'ai mis le js dans ma partie "head" de mon html.
oui ça marchera si tu mets enrichir(1,1);
tu peux même t'amuser à mettre

<input type="radio" onclick="enrichir(1, 0)" name="bouton3" value="Centre Hospitalier Privé St Grégoire"/>Centre Hospitalier Privé St régoire<br>
...
Anecdote:
je viens de vérifier et j'ai eu un instant d'angoisse car Firefox ne m'affichait pas la ligne supplémentaire, mais me balançait une erreur Jacascript, mais elle venait de phpfrance...

Re: question formulaire

par wallice » 21 sept. 2011, 11:05

Désolée mais je me sens vraiment nulle!!
J'ai mis ça, est-ce que c'est bon?
<p id="bouton3"><label>Où avez-vous accouché?</label></br>
		<input type="radio" name="bouton3" value="CHU de Rennes"/>CHU de Rennes<br>
		<input type="radio" name="bouton3" value="Clinique de la sagesse"/>Clinique de la sagesse<br>
		<input type="radio" name="bouton3" value="Centre Hospitalier Privé St Grégoire"/>Centre Hospitalier Privé St Grégoire<br>
		<input type="radio" onclick="enrichir(1, 0)" name="bouton3" value="autre">Autre<br />
		<div id="d" class="cellule" style="visibility:hidden">
		<input  type="text" id="bouton3_bis" name="bouton3_bis"/>
		</div>
et j'ai mis le js dans ma partie "head" de mon html.

Re: question formulaire

par sirakawa » 21 sept. 2011, 10:13

<html>
<head>
<script type='text/javascript'>
<!--
...
-->
</script>
</head>
<body>
<div>...
<input type = 'radio' onclick = 'enrichir(1, 0)' name = '$nom' value ='$domaine'>$domaine<br />
</div>

<div id ='d' class= 'cellule' style='visibility:hidden'>
<input type='text' id ='nouveau_domaine' name = 'nouveau_domaine' />
</div>
</body>
</html>
regarder :
http://www.w3schools.com/js/default.asp

Re: question formulaire

par wallice » 20 sept. 2011, 22:13

Sirakawa, je viens d'essayer mais cela ne fonctionne pas.
Le premier code que tu donnes, c'est le html pas le php, non?
Est-ce que je dois tout rajouter à la suite de mon input type=radio, ou mettre onclick=... dans ma ligne input déjà en place?
Et dans ton code, quel sont les valeurs que je dois modifier et celles qui restent comme ça?

Le javascript, je le place n'importe où dans mon html?

Merci.

Re: question formulaire

par sirakawa » 19 sept. 2011, 09:41

Bjr,
dans un cas similaire, j'ai choisi cette solution :
<div>...
   <input type = 'radio' onclick = 'enrichir(1, 0)' name = '$nom' value ='$domaine'>$domaine<br />
</div>

<div id ='d' class= 'cellule' style='visibility:hidden'>
    <input  type='text' id ='nouveau_domaine' name = 'nouveau_domaine' />
</div>";
et le javascript où id sert à identifier la div à traiter...

Code : Tout sélectionner

function enrichir (id, option) { if (id == 1) { id ='d'; } else { id = 'd1'; } if (option == 1) { document.getElementById(id).style.visibility="visible"; } else { document.getElementById(id).style.visibility="hidden"; } }
Et à larécupération, si autre est coché, je lis le $_POSt['nouveau_domaine']
rien trouvé de plus simple. Il me semble qu'à une époque le <select> avait une option pour être enrichi.... à moins que ce ne soit un truc de Visual Basic...

Re: question formulaire

par wallice » 19 sept. 2011, 08:56

En fait je pense savoir comment l'ajouter dans mon fichier html avec une ligne <input type="text">, mais après, pour que ça s'affiche dans mon mail, je ne sais pas trop comment le positionner et le nommer par rapport à la valeur de la question et des réponses.
Je vous donne un exemple:
mon html:
<p id="case1_"><label>Avez-vous eu des informations sur l'allaitement maternel?</label></br>
<input type="checkbox" name="case1_[7]" id="case1_" value="Autre"/>Autre //là je veux rajouter ma case pour donner des précisions
mon php:
//la partie vérification:
if ($erreur_case1) {
	  echo($icone);
	  }
if ($_SESSION['case1_'][0] == "Pendant la préparation à la naissance") {
echo(" checked");
}
if ($_SESSION['case1_'][1] == "Par le personnel de la maternité lors de la mise en place de l'allaitement") {
echo(" checked");
}
if ($_SESSION['case1_'][2] == "Lors d\'une réunion de sortie") {
echo(" checked");
}
if ($_SESSION['case1_'][3] == "Par la puericultrice de PMI lors d'une visite à domicile") {
echo(" checked");
}
if ($_SESSION['case1_'][4] == "Par la PMI sur place") {
echo(" checked");
}
if ($_SESSION['case1_'][5] == "Par une association d'aide à l'allaitement que vous avez contacté") {
echo(" checked");
}
if ($_SESSION['case1_'][6] == "Aucune information") {
echo(" checked");
}
if ($_SESSION['case1_'][7] == "Autre") {
echo(" checked");
}
else {
if ($erreur_case1) {
	  echo(stripslashes($erreur_case1));
	  }

//Enregistrement des paramètres de la case 1...
$_SESSION['case1_'][0] = "";
if (isset($_POST['case1_'][0])) {
$_SESSION['case1_'][0] = $_POST['case1_'][0];
} // Fin du if...

$_SESSION['case1_'][1] = "";
if (isset($_POST['case1_'][1])) {
$_SESSION['case1_'][1] = $_POST['case1_'][1];
} // Fin du if...

$_SESSION['case1_'][2] = "";
if (isset($_POST['case1_'][2])) {
$_SESSION['case1_'][2] = $_POST['case1_'][2];
} // Fin du if...

$_SESSION['case1_'][3] = "";
if (isset($_POST['case1_'][3])) {
$_SESSION['case1_'][3] = $_POST['case1_'][3];
} // Fin du if...

$_SESSION['case1_'][4] = "";
if (isset($_POST['case1_'][4])) {
$_SESSION['case1_'][4] = $_POST['case1_'][4];
} // Fin du if...

$_SESSION['case1_'][5] = "";
if (isset($_POST['case1_'][5])) {
$_SESSION['case1_'][5] = $_POST['case1_'][5];
} // Fin du if...

$_SESSION['case1_'][6] = "";
if (isset($_POST['case1_'][6])) {
$_SESSION['case1_'][6] = $_POST['case1_'][6];
} // Fin du if...

$_SESSION['case1_'][7] = "";
if (isset($_POST['case1_'][7])) {
$_SESSION['case1_'][7] = $_POST['case1_'][7];
}

//partie html de l'email
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Avez-vous eu des informations sur l'allaitement maternel?</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 1 = " . $_SESSION['case1_'][0] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 2 = " . $_SESSION['case1_'][1] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 3 = " . $_SESSION['case1_'][2] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 4 = " . $_SESSION['case1_'][3] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 5 = " . $_SESSION['case1_'][4] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 6 = " . $_SESSION['case1_'][5] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 7 = " . $_SESSION['case1_'][6] . "</font><br>\n";
$partie_cases .= "<font face=\"Verdana\" size=\"2\" color=\"#003366\">Case 8 = " . $_SESSION['case1_'][7] . "</font><br>\n";

Re: question formulaire

par xTG » 19 sept. 2011, 07:23

Commences par nous indiquer ce qui te pose problème qu'on puisse t'aiguiller. :)

question formulaire

par wallice » 19 sept. 2011, 00:34

Bonsoir,
Je viens de créer un formulaire en ligne.
Dans certaines de mes questions, de type cases à cocher, il y a le choix "autre". J'aimerai ajouter un champ de texte pour que la personne précise sa réponse. Qui peux m'aider à faire ça ou me donner des pistes, je suis plus que débutante!!
Merci d'avance