Bonjour,
Je viens aujourd'hui faire appel à vous puisque je suis confronté à un problème dont je ne sais absolument pas où trouver la solution.
Je développe actuellement un site internet disposant d'une page contact.
Celle-ci sert pour les demande de contact, mais aussi pour faire une demande de devis.
L'utilisateur est amené à choisir (via des radio) s'il veut faire une demande de devis ou de contact.
Par défaut, le formulaire de devis est affiché. J'ai un script javascript qui verifie le formulaire et permet de le valider uniquement lorsque les champs ne sont pas vide. Seulement, s'il l'utilisateur choisi "contact", ou alors s'il clique sur "contact" puis "devis" (le contenu a donc changé pour revenir à celui de base), le script ne fonctionne plus.
Assez parlé, un peu de code pour mieux comprendre :
Fonction javascript permettant de modifier le formulaire suivant le choix de l'utilisateur
Le formulaire HTML de base :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 $("input[name=typeContact]:radio").click(function() { if($(this).val() == 'Devis') { html = '<legend>Type du produit</legend>\n\ <input type="radio" name="typeProduit" value="Progiciel" checked="checked">Progiciel</input>\n\ <input type="radio" name="typeProduit" value="SiteWeb">Site web</input>\n\ <div><input type="text" name="objet" id="objet" placeholder="objet"><span class="error"></span></div>\n\ <textarea name="message" id="messageContact" placeholder="Message"></textarea><span class="error"></span>\n\ <textarea name="cahierCharge" id="cahierCharge" placeholder="Cahier des Charges"></textarea><span class="error"></span>\n\ <div><input type="text" name="budget" id="budget" placeholder="Budget"><span class="error"></span></div>\n\ <div><input type="text" name="mail" id="mail" placeholder="Adresse e-mail"><span class="error"></span></div>\n\ <input type="submit" id="submitDevis" value="Envoyer">'; $('#suite').html(html); } else if($(this).val() == 'Contact') { html = '<div><input type="text" name="objet" id="objet" placeholder="Objet"><span class="error"></span></div>\n\ <textarea name="message" id="messageContact" placeholder="Message"></textarea><span class="error"></span>\n\ <div><input type="text" name="mail" id="mail" placeholder="Adresse e-mail"><span class="error"></span></div>\n\ <input type="submit" id="submitDevis" value="Envoyer">'; $('#suite').html(html); } });
Et enfin, une des fonctions de verifications :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 <form method="POST" action="index.php?p=contactSend"> <legend>Type</legend> <input type="radio" name="typeContact" value="Devis" checked="checked">Devis</input> <input type="radio" name="typeContact" value="Contact">Contact</input> <div id="suite"> <legend>Type du produit</legend> <input type="radio" name="typeProduit" value="Progiciel" checked="checked">Progiciel</input> <input type="radio" name="typeProduit" value="SiteWeb">Site web</input> <div><input type="text" name="objet" id="objet" placeholder="Objet"><span class="error"></span></div> <textarea name="message" id="messageContact" placeholder="Message"></textarea><span class="error"></span> <textarea name="cahierCharge" id="cahierCharge" placeholder="Cahier des Charges"></textarea><span class="error"></span> <div><input type="text" name="budget" id="budget" placeholder="Budget"><span class="error"></span></div> <div><input type="text" name="mail" id="mail" placeholder="Adresse e-mail"><span class="error"></span></div> <input type="submit" id="submitDevis" value="Envoyer"> </div> </form>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 $("#objet").blur(function() { if($(this).val() == "") { $(this).next().show().html("<img src='templates/images/check-rouge.png''> Merci de bien vouloir saisir l\'objet"); $('#submitDevis').attr("id", "noSubmit"); $('#noSubmit').attr("disabled","disabled"); objet = false; } else { $(this).next().show().html("<img src='templates/images/check-vert.png''>"); objet = true; if(objet == true && budget == true && mail == true && messageContact == true && cahierCharge == true) { $('#noSubmit').attr("id", "submitDevis"); $('#submitDevis').removeAttr("disabled"); } } });
Ce code fonctionne très bien sur le formulaire de base, mais plus du tout lorsque l'utilisateur change de formulaire.
En espérant que quelqu'un puisse m'aider.
Cordialement, Florian J.
Partager