Formulaire Ajax

Résolu
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009 - 31 mars 2008 à 10:59
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009 - 9 avril 2008 à 17:32
Bonjour, je n'ai jamais fais de script Ajax encore, mais j'ai besoin d'un formulaire interactif un peu spéciale.
J'ai fait quelque recherche sur divers forum mais je n'ai pas trouvé d'infos sur se que je veux faire.

Voila j'ai un formulaire à faire pour une gestion immobilière, et à un endroit j'ai besoin de donner des infos sur les pièces d'un logement.
Par exemple dans une maison, j'ai 3 chambres, la 1er à du carrelage fais 14m² et à 2 fenêtres. La 2ème a du parquet fait 12m² et à 1 fenêtre.

J'aurai voulu mettre un <select> qui permet de choisir mon type de pièce, remplir le nombre de pièces de se type à coté dans un et que par rapport au chiffre rentré il me sorte un questionnaire pour chaque pièce, comme ce résultat:
<tr>
          <td colspan="13">              ----

                      <table border="0" cellpadding="0" cellspacing="0">
                    ----

                     , Choix des pièces :</td>
                   
                 

    </td>
              </tr>
     <tr>
    <td height="5"></td>
     </tr>
              <tr>
                <td colspan="13">                    ----

                      ,
                      <select name="type_piece">
                    <option selected="selected" value="0">Selectionnez</option>
                    <option value="chambre">chambre</option>
                    <option value="cuisine">cuisine</option>
                    <option value="salle à manger">salle à manger</option>
                    <option value="entrée">entrée</option>
                    <option value="salle de bain">salle de bain</option>
                    <option value="salon">salon</option>
                  </select>,
                   
                    ----

                      ,
                   
               
</td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Quantité :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                 <td height="10"></td>
              </tr>
              <tr>
                 <td class="text">chambre1</td>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Niveau :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Surface :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Revêtement de sol :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Exposition :</td>
                <td width="10"></td>
                <td align="left"><select name="entree_exposition">
                    <option selected="selected" value="0">Selectionnez</option>
                    <option value="Nord">Nord</option>
                    <option value="Nord-Est">Nord-Est</option>
                    <option value="Est">Est</option>
                    <option value="Sud-Est">Sud-Est</option>
                    <option value="Sud">Sud</option>
                    <option value="Sud-Ouest">Sud-Ouest</option>
                    <option value="Ouest">Ouest</option>
                    <option value="Nord-Ouest">Nord-Ouest</option>
                  </select></td>
              </tr>
              <tr>
                 <td height="10"></td>
              </tr>
              <tr>
                 <td class="text">chambre2</td>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Niveau :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Surface :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Revêtement de sol :</td>
                <td width="10"></td>
                <td align="left"></td>
              </tr>
              <tr>
                <td width="200"></td>
                <td width="130" class="text" align="right">Exposition :</td>
                <td width="10"></td>
                <td align="left"><select name="entree_exposition">
                    <option selected="selected" value="0">Selectionnez</option>
                    <option value="Nord">Nord</option>
                    <option value="Nord-Est">Nord-Est</option>
                    <option value="Est">Est</option>
                    <option value="Sud-Est">Sud-Est</option>
                    <option value="Sud">Sud</option>
                    <option value="Sud-Ouest">Sud-Ouest</option>
                    <option value="Ouest">Ouest</option>
                    <option value="Nord-Ouest">Nord-Ouest</option>
                  </select></td>
              </tr>

Ici on aurait rentré 2 dans la quantité de pièce type chambre.

Donc déjà est-ce faisable?? Et si oui comment je peux faire ca??

48 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 avril 2008 à 11:51
>>creat_form non definie
    ??   tu peux mettre "tout" ?   je ne sais plus très bien où on est....
          quand je dis tout, j'entend le html, le formulaire, les fonctions... enfin,
             le nécessaire, tout le nécessaire, mais pas plus !

var d=document.createElement("div");
d.id="resultat";
       alors sit tu prèferes innerHTML ( c'est plus simple c'est vrai )
       même ça est inutile , met le directement en html, en dur
       et pour effacer tu me diras?
            .... document.getElementById("resultat").innerHTML="";

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 12:16
Voila exactement se que j'ai fais:

<Script Type="Text/JavaScript">
function creat_form(num) {
 if(d=document.getElementById('resultat')){
     d.parentNode.removeChild(d);
   }
 var d=document.createElement("div");
 d.id="resultat";
 var e,f;
 for (i=0; i<num; i++)
  {
   d.innerHTML +="exemple
";
  }
 }


 </Script>
</HEAD>

 <form name="form1" enctype="multipart/form-data" method="POST" >
  

  
 </form>

</html>

Le 'test"+i" je gene aussi apperement, je n'ai pas droit à cette syntaxe??
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 avril 2008 à 12:28
quelques imprécisions...

<html>

<Script Type= "Text/JavaScript">
function creat_form(num) {
    var d=document.getElementById("resultat");
    d.innerHTML="";
    for (i =0; i<num; i++)
    {    d.innerHTML+="exemple
";    }
}

 </Script>
</HEAD>

 <form name="form1" enctype="multipart/form-data" method="POST" >
 

 
 

 </form>

</html>

<hr />                Cordialement            Bul         [mon Site]     [M'écrire]
0
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 12:32
Lol ok pas vu pour le petit '...
Ca fonctionne nikel merci je vais maintenant integrer la fonction dans mon vrais formulaire et change la fonction en en consequence.
0

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

Posez votre question
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 15:59
Comment je peux revenir à la ligne?? genre comme ca:

d.innerHTML+="exemple
                           
";
0
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 16:03
C'est bon faut rajouter à chaque fois d.innerHTML+=
par exemple:

d.innerHTML+="exemple ";
d.innerHTML+="
";
0
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 17:25
Petit soucis, j'ai mis un 2ème style de pièce, mais il rajoute au 1er style pourtant j'ai fais attention de bien differencier les noms de champs.

Je donne la page entière pour un test en locale:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML Lang="fr">
<HEAD>
<meta http-equiv="content-Language" content="fr-FR">
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<TITLE>test-form</TITLE>
<Script Type="Text/JavaScript">
function creat_form(num, nom) {
    var d=document.getElementById("resultat_"+nom);
    d.innerHTML="";
    for (i=1; i<=num; i++)
    {   
   d.innerHTML+="
"+nom+i+"
";
   d.innerHTML+="
Niveau :
";  
   d.innerHTML+="
Surface :
";  
   d.innerHTML+="
Revêtement de sol :
";  
   d.innerHTML+="
Exposition : <select name='entree_exposition_"+nom+"'><option selected='selected' value='0'>Selectionnez</option><option value='Nord'>Nord</option><option value='Nord-Est'>Nord-Est</option><option value='Est'>Est</option><option value='Sud-Est'>Sud-Est</option><option value='Sud'>Sud</option><option value='Sud-Ouest'>Sud-Ouest</option><option value='Ouest'>Ouest</option><option value='Nord-Ouest'>Nord-Ouest</option></select>
";
   d.innerHTML+="
";
 }
}
</Script>
</HEAD>

 <form name="form1" enctype="multipart/form-data" method="POST" >
  Entree

  
  

  

  Séjour

  
  

 </form>

</html>

Je pense que ca vient du
var d=document.getElementById("resultat_"+nom);
0
cs_bibo06 Messages postés 116 Date d'inscription mardi 28 novembre 2006 Statut Membre Dernière intervention 10 mars 2009
9 avril 2008 à 17:32
Non c'est bon j'ai trouvé lol j'arrivais pas à voir mes <input type="hidden" avais le meme nom... desole
0
Rejoignez-nous