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 :

Vérification du remplissage d'un bouton radio


Sujet :

JavaScript

  1. #1
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut Vérification du remplissage d'un bouton radio
    Bonjour.

    Dans une page jsp, j'ai un tableau de données dont la 1ere colonne est une liste de boutons radio permettant de sélectionner une ligne selon le contenu des autres colonnes.

    Je voudrais pouvoir vérifier en javascript si au moins un bouton radio est coché lorsque l'utilisateur valide. Mais j'ai un soucis de cadre semble-t-il, et je ne suis pas certain d'avoir fait les choses correctement (ou plutôt l'inverse)...

    Voici mon code :

    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
    <%@ page import="liste des imports..."%>
    <%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>ISIOS - Import</title>
    <link rel="stylesheet" href="css/panel.css" />
    <link rel="stylesheet" href="css/worklist.css" />
     
    <SCRIPT language="JavaScript">
    function uploadFile(){
    var formulaire = document.importForm;
     
    alert(formulaire.tpsLink.value); // C'est ici que je voudrais récupérer le contenu de tpsLink pour écrire une instruction du type : if (formulaire.tpsLink.value == null){ alert("Sélectionnez quelque chose."); return false; }
    if (formulaire.tpsLink.value==null) return false; // pour ne pas envoyer les informations à la servlet et rester sur la page courante
     
    </SCRIPT>
     
    <form name="importForm" enctype="multipart/form-data" method="post" action="ImportServlet">		
    <fieldset width=80%><legend accesskey=I><span class="b_form"> Informations générales</span></legend>
    <table align="center">
    		<td><span class="b_form">Choix TPS & moteur calcul : * </span></td>
        </table>
        <div align="center" id="kbTable" name="kbTable">
        <display:table id="table_tps" name="sessionScope.isiosExp_KnowledgeBases" export="false" class="workListTable">
            <display:column title="	Choix	" media="html" class="checkBox_col">
                <acronym title="Ligne à selectionner choisir la base" lang="fr"> 
                    <input type="radio" name="tpsLink" value="<c:out value='${table_tps.id}'/>"/>
                </acronym>
            </display:column>
            <display:column property="nameKnowledgeDataBase" title="TPS" sortable="false"></display:column>
            <display:column property="tpsVersion" title="Version TPS" sortable="false"></display:column>
            <display:column property="referenceKnowledgeDataBase" title="Référence" sortable="false"></display:column>
            <display:column property="tempParamName" title="Paramètre" sortable="false"></display:column>
            <display:column property="kbVersion" title="Version KB" sortable="false"></display:column>
            <display:setProperty name="paging.banner.placement">bottom</display:setProperty>  			
            <display:setProperty name="basic.empty.showtable">true</display:setProperty>
            <display:setProperty name="basic.msg.empty_list">Aucun résultat.</display:setProperty>
        </display:table>	
    </div>
    </fieldset>
     
     
     
    <table align="center">
        <tr align="center">
            <td colspan="3"><input type="button" onClick="uploadFile()" value="Importer" class="bouton"></td>
        </tr>
    </table>
     
    </body>
    </html>
    Quand je clique sur valider, j'ai un alert (warning) qui s'affiche avec ceci :
    Undefined

    Savez-vous comment faire pour me permettre de vérifier le contenu de la variable tpsLink en Javascript ? (l'objectif final étant de vérifier si au moins un radio bouton est coché)

    Merci d'avance.

  2. #2
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Bonjour,
    Citation Envoyé par raf64flo Voir le message
    Savez-vous comment faire pour me permettre de vérifier le contenu de la variable tpsLink en Javascript ? (l'objectif final étant de vérifier si au moins un radio bouton est coché)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i=0; i<document.forms['formImport'].elements['tpsLink'].length; i++)
    if (document.forms['formImport'].elements['tpsLink'][i].checked)
    alert(document.forms['formImport'].elements['tpsLink'][i].value);
    EDIT : tpsLink n'est pas une variable, mais un objet (une collection d'objets quand il y en aura plusieurs).

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(formulaire.tpsLink.checked);
    Qui renvoie true ou false si le bouton est coché ou pas
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(formulaire.tpsLink.checked);
    Qui renvoie true ou false si le bouton est coché ou pas

    Non : la syntaxe n'est pas bonne ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  5. #5
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814

  6. #6
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Disons que ça permet de donner une syntaxe un peu plus actuelle que celle proposée dans la FAQ

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  7. #7
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par E.Bzz Voir le message
    Bonjour,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for (i=0; i<document.forms['formImport'].elements['tpsLink'].length; i++)
    if (document.forms['formImport'].elements['tpsLink'][i].checked)
    alert(document.forms['formImport'].elements['tpsLink'][i].value);
    EDIT : tpsLink n'est pas une variable, mais un objet (une collection d'objets quand il y en aura plusieurs).
    En remplaçant les formImport par importForm ça fonctionne très bien. Merci beaucoup !

    En effet pour tpsLink, j'ai dit variable sans réfléchir.

  8. #8
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par raf64flo Voir le message
    En remplaçant les formImport par importForm ça fonctionne très bien.
    Oups !
    Je l'avait tapé de mémoire
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  9. #9
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    Bonjour.

    J'ai de nouveau un soucis donc je ré-ouvre.

    J'ai deux boucles FOR qui permettent chacune de vérifier si une table (tpsLink ou apsLink) est cochée (l'un des boutons radio du tableau) par l'utilisateur. Pour le table tpsLink, pas de soucis, mais pas moyen d'entrer dans la vérification de la table apsLink. Je ne vois pas pourquoi.

    Ici, j'ai modifié le code de façon à afficher directement les tableaux, je les ai mis en dur. Vous pouvez voir dans le premier message en haut la construction des tableau en jsp.

    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>ISIOS - Import</title>
    <link rel="stylesheet" href="css/panel.css" />
    <link rel="stylesheet" href="css/worklist.css" />
     
    <SCRIPT language="JavaScript">
    function uploadFile(){
    	var formulaire = document.importForm;
    	//Vérification des boutons radio "tpsLink"
    	var tps_checked = false;
    	for (var i=0; i<document.forms['importForm'].elements['tpsLink'].length; i++){
    		if (document.forms['importForm'].elements['tpsLink'][i].checked){
    			tps_checked = true;
    		}
    	}
    	if (tps_checked == false){
    		alert("Attention : choisir une base de connaissance !");
    		return false;
    	}
     
    	//Vérification des boutons radio "apsLink"
    // #### C est ici dans le FOR que je n arrive pas à entrer, 
    //jamais la variable aps_checked n est passé à true, 
    //que la case du tableau soit cochée ou pas #####
    	var aps_checked = false;
    	for (var j=0; j<document.forms['importForm'].elements['apsLink'].length; j++){
    		alert ("Entré dans le for de l'aps");
    		if (document.forms['importForm'].elements['apsLink'][j].checked){
    			alert ("Entré dans le if du for de l'aps");
    			aps_checked = true;
    		}
    	}
    	if (aps_checked == false){
    		alert("Attention :  choisir le paramétrage de  moteur de calcul !");
    		return false;
    	}
     
    	try{
    			formulaire.submit();
    	}
    	catch (err) {
    		setErreur('Error in uploadFile(): ',err.description);
    	}
    }
    </SCRIPT>
     
    </head>
     
    <body>
    <div id="zoneTravail"><br />
     
    <form name="importForm" enctype="multipart/form-data" method="post"
    	action="ImportSasPanelServlet">	
     
    <fieldset width=80%><legend accesskey=I><span
    	class="b_form">Informations générales</span></legend>
    <table align="center">
    	<tr>
    		<td>
    			<span class="b_form">Choix TPS & moteur calcul : *</span>
    		</td>
     
    	</tr>
    </table>
    //######################################## Tableau TPS
    // ######################
    <div align="center" id="tps" class="kbTable" >
     
    <table class="workListTable" id="table_tps">
    <thead>
    <tr>
    	<th>	Choix	</th>
    	<th>TPS</th>
    	<th>Version TPS</th>
     
    	<th>Référence</th>
    	<th>Paramètre</th>
    	<th>Version KB</th>
    </tr>
    </thead>
     
    <tbody>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="9"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>16</td>
    <td>86</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="10"/>
    	</acronym>
    </td>
    <td>fgh</td>
     
    <td>14</td>
    <td>84</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="1"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>50</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="2"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>47</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="3"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>46</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="4"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>6</td>
    <td>04</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="5"/>
    	</acronym>
    </td>
    <td>aze</td>
     
    <td>0</td>
    <td>09</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="6"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>0</td>
    <td>08</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="7"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>6</td>
    <td>01</td>
    <td></td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="8"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>5</td>
    <td>02</td>
    <td></td>
    <td></td></tr>
    </tbody>
    </table>	
    </div>
     
    //######################################## Tableau APS 
    //######################
    <div align="center" id="aps" class="kbTable">
     
    <table class="workListTable" id="table_aps">
    <thead>
    <tr>
    <th>	Choix	</th>
    <th>	APS	</th>
    <th>	Version	APS </th>
    </tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir le paramétrage de  moteur de calcul" lang="fr"> 
    		<input type="radio" name="apsLink" value="1" />
    	</acronym>
    </td>
    <td>bvc</td>
    <td>0</td></tr>
    </tbody>
    </table>
     
    </div>
    </tr>
     
    </fieldset>
     
     
    <table align="center">
    	<tr align="center">
    		<td colspan="3">
    			<input type="button" onClick="uploadFile()"	value="Importer" class="bouton">
    		</td>
    	</tr>
    </table>
     
    </form>
    <br />
     
    <p align="center"><span class="b_form"> * Champs obligatoires</span></p>
     
    </div>
     
     
    </body>
    </html>
    I need help.

  10. #10
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    un seul bouton radio apsLink -> ce n'est plus un tableau.

  11. #11
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    En ce cas précis en effet il n'y a qu'un seul aps, mais généralement il y en aura plusieurs.

    C'est parce qu'il n'y a qu'un seul élément dans le tableau qu'il ne rentre pas dans la boucle for ?

  12. #12
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Citation Envoyé par raf64flo Voir le message
    C'est parce qu'il n'y a qu'un seul élément dans le tableau qu'il ne rentre pas dans la boucle for ?
    oui

  13. #13
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    En ce cas, comment faire en sorte que même si il n'y a qu'une seule ligne, il vérifie quand même si c'est renseigné ? (sans faire un cas particulier si possible)

  14. #14
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Visiblement l'imbrication de tes tables n'est pas bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <td>0</td></tr></tbody></table>
     
    		</div>
    	</tr>
    	
    </fieldset>
     
     
    <table align="center">
    
    Le dernier <table> devrait au moins être dans un <td>, mais j'ai plutôt l'impression qu'il manque un </table> avant le </fieldset> ...

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  15. #15
    Membre régulier

    Inscrit en
    Novembre 2007
    Messages
    121
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 121
    Points : 104
    Points
    104
    Par défaut
    En corrigeant ce détail, ça donne 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
    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
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>ISIOS - Import</title>
    <link rel="stylesheet" href="css/panel.css" />
    <link rel="stylesheet" href="css/worklist.css" />
     
    <SCRIPT language="JavaScript">
    function uploadFile(){
    	var formulaire = document.importForm;
    	//Vérification des boutons radio "tpsLink"
    	var tps_checked = false;
    	for (var i=0; i<document.forms['importForm'].elements['tpsLink'].length; i++){
    		if (document.forms['importForm'].elements['tpsLink'][i].checked){
    			tps_checked = true;
    		}
    	}
    	if (tps_checked == false){
    		alert("Attention : choisir une base de connaissance !");
    		return false;
    	}
     
    	//Vérification des boutons radio "apsLink"
    // #### C est ici dans le FOR que je n arrive pas à entrer, 
    //jamais la variable aps_checked n est passé à true, 
    //que la case du tableau soit cochée ou pas #####
    	var aps_checked = false;
    	for (var j=0; j<document.forms['importForm'].elements['apsLink'].length; j++){
    		alert ("Entré dans le for de l'aps");
    		if (document.forms['importForm'].elements['apsLink'][j].checked){
    			alert ("Entré dans le if du for de l'aps");
    			aps_checked = true;
    		}
    	}
    	if (aps_checked == false){
    		alert("Attention :  choisir le paramétrage de  moteur de calcul !");
    		return false;
    	}
     
    	try{
    			formulaire.submit();
    	}
    	catch (err) {
    		setErreur('Error in uploadFile(): ',err.description);
    	}
    }
    </SCRIPT>
     
    </head>
     
    <body>
    <div id="zoneTravail"><br />
     
    <form name="importForm" enctype="multipart/form-data" method="post"
    	action="ImportSasPanelServlet">	
     
    <fieldset width=80%><legend accesskey=I><span
    	class="b_form">Informations générales</span></legend>
    <table align="center">
    	<tr>
    		<td>
    			<span class="b_form">Choix TPS & moteur calcul : *</span>
    		</td>
     
    	</tr>
    </table>
    //######################################## Tableau TPS
    // ######################
    <div align="center" id="tps" class="kbTable" >
     
    <table class="workListTable" id="table_tps">
    <thead>
    <tr>
    	<th>	Choix	</th>
    	<th>TPS</th>
    	<th>Version TPS</th>
     
    	<th>Référence</th>
    	<th>Paramètre</th>
    	<th>Version KB</th>
    </tr>
    </thead>
     
    <tbody>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="9"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>16</td>
    <td>86</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="10"/>
    	</acronym>
    </td>
    <td>fgh</td>
     
    <td>14</td>
    <td>84</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="1"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>50</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="2"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>47</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="3"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>1</td>
    <td>46</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="4"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>6</td>
    <td>04</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="5"/>
    	</acronym>
    </td>
    <td>aze</td>
     
    <td>0</td>
    <td>09</td>
    <td>aze</td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="6"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>0</td>
    <td>08</td>
    <td></td>
    <td></td></tr>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="7"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>6</td>
    <td>01</td>
    <td></td>
    <td></td></tr>
    <tr class="even">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir la base de connaissance" lang="fr"> 
    		<input type="radio" name="tpsLink" value="8"/>
    	</acronym>
    </td>
    <td>dfg</td>
     
    <td>5</td>
    <td>02</td>
    <td></td>
    <td></td></tr>
    </tbody>
    </table>	
    </div>
     
    //######################################## Tableau APS 
    //######################
    <div align="center" id="aps" class="kbTable">
     
    <table class="workListTable" id="table_aps">
    <thead>
    <tr>
    <th>	Choix	</th>
    <th>	APS	</th>
    <th>	Version	APS </th>
    </tr>
    </thead>
    <tbody>
    <tr class="odd">
    <td class="checkBox_col">
    	<acronym title="Ligne à selectionner : choisir le paramétrage de  moteur de calcul" lang="fr"> 
    		<input type="radio" name="apsLink" value="1" />
    	</acronym>
    </td>
    <td>bvc</td>
    <td>0</td></tr>
    </tbody>
    </table>
     
    </fieldset>
     
     
    <table align="center">
    	<tr align="center">
    		<td colspan="3">
    			<input type="button" onClick="uploadFile()"	value="Importer" class="bouton">
    		</td>
    	</tr>
    </table>
     
    </form>
    <br />
     
    <p align="center"><span class="b_form"> * Champs obligatoires</span></p>
     
    </div>
     
     
    </body>
    </html>

    Il y avait un <tr> et une <div> en trop, je les ai retirés.

    Par contre, toujours le même soucis. Même si ce n'est pas un tableau (quand on n'a qu'une seule ligne), la taille devrait être quand même '1' et on devrait entrer dans la boucle for 1 fois, non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for (var j=0; j<document.forms['importForm'].elements['apsLink'].length; j++){

  16. #16
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par raf64flo Voir le message
    Même si ce n'est pas un tableau (quand on n'a qu'une seule ligne), la taille devrait être quand même '1' et on devrait entrer dans la boucle for 1 fois, non ?
    Non, Matthieu a (encore) raison

    Si un seul élément, pas de tableau retourné, donc pas de length !
    (je savais pas non plus mais je viens de tester)

    Soit tu ajoutes un 2° radio, soit, si tu n'en as pas besoin à terme, donne un id à l'input et utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('id_radio').checked
    (sans boucle, donc)

    A+
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

Discussions similaires

  1. vérification form avec bouton radio
    Par zemzoum89 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 01/06/2010, 07h44
  2. Vérification d'un bouton radio vide
    Par Requiem11 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/09/2009, 11h31
  3. Vérification de bouton radio sur un formulaire
    Par Sakeno dans le forum Langage
    Réponses: 7
    Dernier message: 02/06/2008, 14h58
  4. Vérification boutons radio + redirection de pages
    Par psgkiki dans le forum Langage
    Réponses: 8
    Dernier message: 02/05/2008, 23h34
  5. Vérification du choix d'un bouton radio
    Par Phenomenium dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 09/02/2006, 08h24

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