Pb pr ajout dynamique de champs textes par un clic sur un bouton "ajouter"

24002717 Messages postés 5 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 31 août 2006 - 9 mars 2006 à 10:28
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 9 mars 2006 à 12:51
Bonjour,
je suis debutante en programmation et pour la creation d'enquêtes de satisfaction, je voudrais pouvoir ajouter une réponse au dessus de l'endroit où se trouve le bouton,soit en dessous des autres réponses, mais ma fonction me permet seulement d'ajouter des réponses pr la première question alors que j'ai fait une boucle sur les réponses.

De plus jaimerais pouvoir ajouter une question (et dc les 4 champs textes pr les réponses par défauts),en dessous de le dernière question de chaque thème.

Voici mon code:

<html>

<head>

<title> Suite de la création de l'enquête </title>

<script language="javascript">
i=5;
function ajout_rep(ID)
{
// on récupère le div
var doc=document.getElementById("id");
// on passe à la ligne suivante
doc.appendChild(document.createElement("p"));
// on crée un texte "reponse"
var texte=document.createTextNode("Réponse "+i+" ")
// on crée elem: un champ texte
var elem=document.createElement("input");
elem.setAttribute("type", "text");
elem.setAttribute("name", "reponse");
// on les ajoute à la suite du div
doc.appendChild(texte);
doc.appendChild(elem);
doc.appendChild(document.createElement("p"));
// on incrémente i
i++;
}
</script>

</head>



Etape 2: Générer les questions et les réponses


<form method="post" action="essai3.php?nom=<? echo $nom; ?>">

<?

// boucle sur les thèmes

for ($i=1;$i<20;$i++)
{
if (!empty($_POST["theme".$i]))
{
?>
<? echo 'Thème '.$i.': '.$_POST["theme".$i]; ?>


<?

// on affiche les questions et les réponses (à remplir par l'utilisateur) sous forme d'un tableau

for ($j=1;$j<5;$j++)
{

?> <?
echo 'Question '.$j.': ';
?> , <?

for ($k=1;$k<5;$k++)
{
echo 'Réponse '.$k.': ';
?> <?
}
?>

<?

} // ferme la boucle sur les questions

?> <?

} // ferme le if

} // ferme la boucle sur les thèmes

?>

">
">
">
">
">



</form>



</html>

ps: les name='...' dans le formulaire sont la pck je n'ai pas encore choisi commt jallais les enregistrer

dsl si mes explications ne sont pas très claires..

Merci.

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mars 2006 à 11:30
Bonjour,
° si on avait la page générée au lieu du php ce serait plus simple
( enfin, une partie, pas 25674 lignes non plus )
car on ne sait pas ce qu'il y a dans les variables php.
° faut-il ajouter une ligne au tableau existant ( généré par php ) ?
regarder "traitements Tableaux" que j'ai mis dans les
sources de ce site, qui donne un exemple.
° ou ajouter des champs de saisie dans le div ?
le plus simple : div+innerHTML+="
";
°pour les trucs du style id="id", mieux vaut id="nomquelconque"
et éviter les noms connus du html/javascript/php...
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
24002717 Messages postés 5 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 31 août 2006
9 mars 2006 à 12:36
Voila ma page, ici ac un seul thème. Je voudrais pouvoir ajouter réponse 5 à la suite de réponse 4 pour chacune des questions, et mon script me permet actuellement de le faire seulement pr la question 1.


Je changerais dc "id". Merci de l'info.
j'espère que j'ai répondu à tes questions.
Et à propos de innerhtml, est-il bien supporté par tous les navigateurs?


Etape 2: Générer les questions et les réponses

<FORM action=essai3.php?nom=aa method=post>
Thème 1: essai 1



Question 1: ,
Réponse 1:
Réponse 2:
Réponse 3:
Réponse 4:



Question 2: ,
Réponse 1:
Réponse 2:
Réponse 3:
Réponse 4:



Question 3: ,
Réponse 1:
Réponse 2:
Réponse 3:
Réponse 4:



Question 4: ,
Réponse 1:
Réponse 2:
Réponse 3:
Réponse 4:




</FORM>
0
24002717 Messages postés 5 Date d'inscription jeudi 23 février 2006 Statut Membre Dernière intervention 31 août 2006
9 mars 2006 à 12:37
il est sensé y avoir des champs de texte vide en face des questions et des réponses, qui ne st pas passés ici..
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mars 2006 à 12:47
page générée => éditeur de texte => javascriptfr

>>innerhtml, est-il bien supporté par tous les navigateurs?
tous ! ah çà, je ne sais pas ?
tout ce que je sais c'est que c'est "standard",
qu'avec IE,FF ça baigne.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
9 mars 2006 à 12:51
apèrès avoir saisi le texte, je décide d'être un peu plus
clair en ajoutant une phrase derrière la 1ère ligne ====>
en cliquant sur le bouton "Ajouter", cette phrase disparait....

je disais donc, avant d'avoir été interrompu :
page générée ==> éditeur ==> javascriptFR
sinon les balises html sont interprétées et on
voit la page html, pas la source.

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
Rejoignez-nous