IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Formulaire champs obligatoires bouton radio


Sujet :

JavaScript

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut Formulaire champs obligatoires bouton radio
    Bonjour,

    Pour mon site web, je suis en train de créer un formulaire de commande, et j'ai créé un script qui oblige l'utilisateur de rentrer les chamsp notés "obligatoires" pour valdier le formulaire. Mon problème est que dans une des "questions", c'est une bouton radio et je ne sais pas comment faire pour le rendre obligatoire aussi. Voici mon code où j'ai mis en gras la ligne qui me pose problème :


    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    <SCRIPT>
    
    function controlvide()
    
    
    {
    var test="" + document.getElementById('email').value;
    emailok = false
    for(var k = 0; k < test.length;k++)
    {
    var c = test.substring(k,k+1);
    if(c == "@") { emailok = true; }
    }
    if( !emailok )
    {
    alert("Votre E-mail est incorrect!");
    return false;
    }
    
    [test="" + document.getElementById('statut').value;
    if(test.checked == 0) 
    {
    alert("Veuillez nous indiquer si vous êtes un professionnel ou un particulier");
    return false;
    }
    
    var test="" + document.getElementById('nom').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre nom");
    return false;
    }
    
    
    var test="" + document.getElementById('RC').value;
    if(test.length == 0) 
    {
    alert("Veuillez saisir votre numéro de RC");
    return false;
    }
    
    var test="" + document.getElementById('societe').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre société");
    return false;
    }
    
    var test="" + document.getElementById('adresse').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre adresse");
    return false;
    }
    
    var test="" + document.getElementById('codepostal').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre code postal");
    return false;
    }
    
    var test="" + document.getElementById('ville').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre ville");
    return false;
    }
    
    var test="" + document.getElementById('tel').value;
    if(test.length == 0) 
    {
    alert("Veuillez indiquer votre numéro de téléphone");
    return false;
    }
    
    var test="" + document.getElementById('paiement').value;
    if(test.length == 0) 
    {
    alert("Veuillez nous indiquer votre mode de paiement");
    return false;
    }
    
    var test="" + document.getElementById('quantite').value;
    if(test.length == 0) 
    {
    alert("Veuillez nous indiquer la quantité");
    return false;
    }
    
    return true;
    }
    </SCRIPT>
    SVP si vous pouvez m'aidez rapidement ça serait génial.
    Je vous en remercie d'avance

  2. #2
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Bonjour,
    Tu peux essayer avec ceci :
    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
    <SCRIPT>
    function controlvide() {
    for (i=0; i<document.getElementsByTagName("input").length; i++)
    if (document.getElementsByTagName("input")[i].name=="test_radio")
    if (document.getElementsByTagName("input")[i].checked) {
    return true;
    }
    else
    {
    alert("Vous devez cocher une case !");
    return false;
    }}
    </SCRIPT>
    <form id="form" name="form" method="post" action="" onsubmit="return controlvide();" >
      <input type="submit" name="button" id="button" value="Envoyer" />
      <input type="radio" name="test_radio" id="test1" value="1" />
      <input type="radio" name="test_radio" id="test2" value="2" />
    </form>

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut RE : remplir automatiquement champs formulaire
    Bonjour, Merci pour ta réponse
    ça marche mais ça marche pas ! lol
    En fait, J'ai mon input radio où j'ai 2 entrées

    Ma question est :

    Êtes-vous : . Un professionnel . Un particulier


    Et quand on clique sur professionnel, pas de problèmes tout fonctionne bien, mais quand on clic sur particulier le programme réagit comme s'il n'y avait rien, il me mets toujours "Vous devez cocher une case !".

    Merci à toi.

    Ju'

  4. #4
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    T'es boutons radio porte bien le même nom ?
    Ce sont bien des "radio" et non des "checkbox" ...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut RE : remplir automatiquement champs formulaire
    Oui bien sur, leur nom est "statut", il n'y a que leur valeur qui diffère, mais bon je pense que ce n'est pas ça le probleme.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    &Ecirc;tes-vous :
    <INPUT TYPE="radio" NAME="statut" VALUE="professionnel" ONCLICK="grise(this.form.statut)">
    Un 
    Professionnel
    <INPUT TYPE="radio" NAME="statut" VALUE="particulier" ONCLICK="grise(this.form.statut)">
    Un 
    Partculier
    Evidemment je l'ai simplifiée, j'ai retiré tous les "<div> , <font>" et tout le bordel qui va avec lol !

  6. #6
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    Avec ceci çà ira mieux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <SCRIPT>
    function controlvide() {
    var isChecked=false;
    for (i=0; i<document.getElementsByTagName("input").length; i++)
    if (document.getElementsByTagName("input")[i].name=="statut")
    if (document.getElementsByTagName("input")[i].checked)
    isChecked=true;
    if (!isChecked)
    {
    alert('Vous devez choisir entre Professionnel et Particulier !');
    return false;
    }
    }
    </SCRIPT>

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut RE : remplir automatiquement champs formulaire
    OK MErci ton cartonnes ça marche nikel chrome !!

    Cependant je viens d'avoir affaire à un nouveau problème !
    Mon script n'est pas compatible FireFox, je ne suis pas sûr mais c'est sûrement dû à "GetElementBy" qui n'est pas reconnu. Est-ce que tu vois le probleme ?


    Même si tu en vosi pas le probleme, merci encore 1000 fois !


    L'informatique c'est chiant, quand ça marche, ce n'est qu'une impression !

  8. #8
    Membre expérimenté
    Avatar de Jumano
    Profil pro
    Inscrit en
    Février 2007
    Messages
    1 163
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 1 163
    Points : 1 595
    Points
    1 595
    Par défaut
    J'ai testé un bout de code çà fonctionne sous FF et IE ...
    Fait attention tu as un "[" en trop au début de cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [test="" + document.getElementById('statut').value;

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    253
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 253
    Points : 74
    Points
    74
    Par défaut
    oui c'est bon j'ai supprimer la ligne elel ne me sert plus a rien, grace a toi

    Et sous FireFox ça ne marche pas ! quand je ne mets rien dans le formulaire, le navigateur ne me dis rien, comme si j'avasi tout bien rempli...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 26/11/2009, 16h22
  2. [Formulaire]Champ obligatoire si
    Par Tial dans le forum IHM
    Réponses: 2
    Dernier message: 26/03/2007, 14h37
  3. [Formulaire] Champs obligatoires et non obligatoires
    Par FraK dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/03/2007, 19h08
  4. Formulaire dynamique et bouton radio
    Par Analfabete dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 05/01/2007, 20h56
  5. Réponses: 3
    Dernier message: 09/08/2006, 08h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo