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 :

Verification radio avant envoi


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut Verification radio avant envoi
    slt à tous
    j'ai un petit blem sur un verif de formulaire et plus précisement sur les radio.

    j'explique mes radio sont géneres auto via un bdd php
    bdd "poids"
    variable externe $thep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    echo'<form action="?rub=panierrecap&prod" method="post" name="frm" onsubmit="return ctr();" >';
    $req13 = mysql_query("SELECT * FROM poids WHERE $thep BETWEEN tranch1 AND tranch2") or die("Erreur SQL13 !"); 
    	while($data13 = mysql_fetch_array($req13)) {
    	echo'<table><tr><td class="cad03 centrage"><input type="radio" name="choix" value="'.$data13[id].'"></td>
    	<td class="cad03">'.$data13[trans].'</td>
    	<td class="cad07">'.$data13[infos].'</td>
    	<td class="cad03 droite">'.$data13[prix].' €</td>
    	</tr></table><br />';
    	}
    echo'<input type="submit" value="CONTINUER" class="boutonlien" >
    </form>';
    je vérifie qu'au moins un des radios est cochés.

    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
    <script type="text/javascript">
        function ctr()
    	{
       n=frm.choix.length;
       var checkvalue = '';
       for (i=0; i<n; i++)
       {
    	 if (frm.choix[i].checked)
         {
             checkvalue = frm.choix[i].value;
             break;
         }
       }
       if(checkvalue == '')
       {
           alert('veuillez sélectionner une option de port !')
           return(false);
       }
    }	
    </script>
    cela fonctionne quand j'ai plus d'un radio qui est généré, mais cela ne marche plus si j'en ai qu'un.

    ou est mon blem ???
    Merci d'avance de votre aide.
    @+

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    bonjour,
    Merci de poster le code HTML généré et non le code php.

  3. #3
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Pardon
    voici le code de la page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <form action="?rub=panierrecap&prod" method="post" name="frm" onsubmit="return ctr();" >54Livraison impossible avec ce poids de colisLivraison impossible avec ce poids de colisLivraison impossible avec ce poids de colis
    <table><tr><td class="cad03 centrage"><input type="radio" name="choix" value="4"></td>
    	<td class="cad03">la poste</td>
    	<td class="cad07"></td>
    	<td class="cad03 droite">50 €</td>
    	</tr></table><br /><table>
    <tr><td class="cad06 droite"></td>
    <td  class="cad05 droite" ><input type="submit" value="CONTINUER" class="boutonlien" >
    <img class="vertical" src="./img/arrow.png" alt="" /></td></tr>
    </table>
    </form>

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    tout simplement parce que :

    ne renvois pas une taille mais undefined s'il n'y a qu'un seul élément puisqu'il ne s'agit plus d'un tableau mais d'un simple objet
    solution , si undefined alors , récupérer directement l'objet

  5. #5
    Membre éclairé Avatar de spawns
    Homme Profil pro
    Inscrit en
    Juillet 2004
    Messages
    558
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 558
    Par défaut
    Merci pour ton aide
    mais comment tu traduits ca en code ???

  6. #6
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    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
    n = (frm.choix.length != "undefined") ? frm.choix.length:frm.choix;
    var checkvalue = '';
    if(typeof(n) == number){
       for (i=0; i<n; i++)
       {
    	 if (frm.choix[i].checked)
         {
             checkvalue = frm.choix[i].value;
             break;
         }
       }
    }
    else{
     if (frm.choix.checked)
         {
             checkvalue = frm.choix.value;
             break;
         }
    }
    ...
    un truc dans ce genre

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

Discussions similaires

  1. Verifications d'usage avant envoi d'un formulaire
    Par EIN-LESER dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2009, 13h30
  2. Verification avant envoi send()
    Par Zapan dans le forum Réseau
    Réponses: 18
    Dernier message: 30/06/2006, 18h58
  3. traitement des données avant envoie dans MySQL
    Par italiasky dans le forum SQL Procédural
    Réponses: 13
    Dernier message: 07/02/2006, 22h50
  4. verrification avant envoi de formulaire
    Par ph_anrys dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/11/2005, 16h49
  5. [POO] Vérification d'un formulaire avant envoi
    Par KibitO dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 07/11/2005, 13h55

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