Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript
JavaScript Forum programmation JavaScript. Lire : Cours JavaScript, FAQ JavaScript, Toutes les FAQ JavaScript et Sources JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2012, 21h56   #1
Membre du Club
 
Inscription : septembre 2003
Messages : 183
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 183
Points : 46
Points : 46
Par défaut validation de formulaire

Bonjour,

Je suis en train de programmer une espèce de parser de contenu. En gros je récupère un long texte avec des balises style [nom:text:valeur] et je convertir en <input type=..... />

UNe fois le formulaire construit, avant d'envoyer les données du formulaires, je voudrai valider les champs. Jusqu'ici pas de souci avec les champs de type text, textarea et checkbox. Par contre j'ai du mal à valider les champs de type radio car je ne sais pas comment vérifier si une option est sélectionnée pour le bouton radio en cours.

Voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function valider()
{
        alert("function valider");
        for (i=0 ; i<document.forms["contract"].elements.length ; i++)
        {
                if (document.forms["contract"].elements[i].type == "submit") { }
                if (document.forms["contract"].elements[i].type == "fieldset") { }
                if (document.forms["contract"].elements[i].type == "") { }
 
                if (document.forms["contract"].elements[i].type == "radio") {
                        alert(document.forms["contract"].elements[i].checked);
                }
                if (document.forms["contract"].elements[i].type == "checkbox") {
                        alert(document.forms["contract"].elements[i].type);
                        if (document.forms["contract"].elements[i].checked == false) {
                                alert("Veuillez accepter les conditions svp. Merci");
                                return false;
                        }
                }
                if (document.forms["contract"].elements[i].type == "text") {
                        if (document.forms["contract"].elements[i].value == "") {
                                alert("Veuillez saisir tous les champs svp. Merci");
                                return false;
                        } 
                }
        }
}
Voilà, j'espère que vous pourrez m'aider.
zerros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 00h38   #2
Membre Expert
 
Avatar de rotrevrep
 
Homme yannick inizan
Secrétaire d'état à la procrastination
Inscription : février 2011
Messages : 304
Détails du profil
Informations personnelles :
Nom : Homme yannick inizan
Âge : 25
Localisation : France, Cher (Centre)

Informations professionnelles :
Activité : Secrétaire d'état à la procrastination
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : février 2011
Messages : 304
Points : 1 118
Points : 1 118
Envoyer un message via MSN à rotrevrep Envoyer un message via Skype™ à rotrevrep
Bonsoir
pour ton bouton radio, comme checkbox, tu as :
Code :
document.forms["contract"].elements[i].checked
qui a les valeurs true et false suivant si la case est cochée ou non, et
Code :
document.forms["contract"].elements[i].value
qui contient la valeur de l'entrée. Si c'est bien ce que tu demande
__________________
(marquer un post résolu si vous êtes satisfait de la réponse )
le chat caramail de retour ? :/ http://www.tchats.net/beta.php
les projets web en cours sont sur : https://github.com/rotrevrep
rotrevrep est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 09h25   #3
Membre du Club
 
Inscription : septembre 2003
Messages : 183
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 183
Points : 46
Points : 46
Non, ce n'est pas ça. Les nom des champs, je ne les connais pas d'avance alors je ne peux qu'utiliser document.forms["contract"].elements.length pour bouckler sur chaque élément et valider le champ.

Le souci, c'est que pour les radio à plusieurs options, j ene sais aps comment valider car chaque option est un élément même s'ils portent le même nom:
Code :
1
2
3
<input type="radio" name="location" value="1234" />
<input type="radio" name="location" value="1235" />
<input type="radio" name="location" value="1236" />
Donc le but est de vérifier si une des option a été sélectionnée. Si non, j'affiche une alerte (alert). la difficulté réside dans le fait que je ne connais pas en avance les noms des radio.
zerros est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 09h33   #4
Rédacteur/Modérateur
 
Avatar de SpaceFrog
 
Homme
Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Inscription : mars 2002
Messages : 30 071
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Royaume-Uni

Informations professionnelles :
Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Analyste Programmeur
Secteur : Industrie

Informations forums :
Inscription : mars 2002
Messages : 30 071
Points : 45 201
Points : 45 201
tu peux coller tous ceux de même name dans un array dont l'indexe est le name pour les regrouper
__________________
Ma page Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag


réalisations :www.planet-languages.com|www.saftair.com| www.ouestisol.fr | www.sebemex.fr | www.extramiante.fr | www.sistac-alizay.fr | www.acoustishop.fr | www.litt.fr | www.ouestventil.fr
SpaceFrog est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/01/2012, 09h39   #5
Membre du Club
 
Inscription : septembre 2003
Messages : 183
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 183
Points : 46
Points : 46
je vais essayer ça. Je reviens pour donner le résultat. Merci
zerros est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h05.


 
 
 
 
Partenaires

Hébergement Web