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 :

Valeur maximum à entrer pour un input


Sujet :

JavaScript

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut Valeur maximum à entrer pour un input
    Bonsoir

    J'ai créé ceci avec l'aide de membres d'ici:

    http://img402.imageshack.us/img402/1433/genscreen.png

    J'aurai souhaité que dans les cases de la 2e ligne, on ne puisse pas entrer un chiffre plus grand que 3.

    De plus, dans le système de jeu que nous utilisons, nous voudrions qu'au total, la somme des valeurs entrées dans toutes les cases de la ligne 2 ne puisse pas dépasser 5 (en effet, cette ligne est là pour que la personne attribue 5 points répartis comme elle le souhaite, mais elle ne peut jamais allouer plus de 3 points dans la même case)

    Le code:

    1) presentation.php
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>Warhammer JDR: Jeu de r&ocirc;le par forum</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link href="stylegenprez.css" rel="stylesheet" type="text/css" />
    <!-- script FOR --> 
    		<script type="text/javascript">
    		function computeResult1() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultfor = elmt_form.elements['resultfor'];
     
    			var value1 = elmt_form.elements['for1'].value;
    			var value2 = elmt_form.elements['for2'].value;
    			var value3 = elmt_form.elements['for3'].value;
     
    			if (testInt(value1) && testInt(value2) && testInt(value3)) {
    				resultfor.value = parseInt(value1) + parseInt(value2) + parseInt(value3);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
    <!-- script END --> 
    		<script type="text/javascript">
    		function computeResult2() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultend = elmt_form.elements['resultend'];
     
    			var value4 = elmt_form.elements['end1'].value;
    			var value5 = elmt_form.elements['end2'].value;
    			var value6 = elmt_form.elements['end3'].value;
     
    			if (testInt(value4) && testInt(value5) && testInt(value6)) {
    				resultend.value = parseInt(value4) + parseInt(value5) + parseInt(value6);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
    <!-- script HAB --> 
    		<script type="text/javascript">
    		function computeResult3() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resulthab = elmt_form.elements['resulthab'];
     
    			var value7 = elmt_form.elements['hab1'].value;
    			var value8 = elmt_form.elements['hab2'].value;
    			var value9 = elmt_form.elements['hab3'].value;
     
    			if (testInt(value7) && testInt(value8) && testInt(value9)) {
    				resulthab.value = parseInt(value7) + parseInt(value8) + parseInt(value9);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
    <!-- script CHAR --> 
    		<script type="text/javascript">
    		function computeResult4() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultchar = elmt_form.elements['resultchar'];
     
    			var value10 = elmt_form.elements['char1'].value;
    			var value11 = elmt_form.elements['char2'].value;
    			var value12 = elmt_form.elements['char3'].value;
     
    			if (testInt(value10) && testInt(value11) && testInt(value12)) {
    				resultchar.value = parseInt(value10) + parseInt(value11) + parseInt(value12);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
     
    <!-- script INT --> 
    		<script type="text/javascript">
    		function computeResult5() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultint = elmt_form.elements['resultint'];
     
    			var value13 = elmt_form.elements['int1'].value;
    			var value14 = elmt_form.elements['int2'].value;
    			var value15 = elmt_form.elements['int3'].value;
     
    			if (testInt(value13) && testInt(value14) && testInt(value15)) {
    				resultint.value = parseInt(value13) + parseInt(value14) + parseInt(value15);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
     
     <!-- script INI --> 
    		<script type="text/javascript">
    		function computeResult6() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultini = elmt_form.elements['resultini'];
     
    			var value16 = elmt_form.elements['ini1'].value;
    			var value17 = elmt_form.elements['ini2'].value;
    			var value18 = elmt_form.elements['ini3'].value;
     
    			if (testInt(value16) && testInt(value17) && testInt(value18)) {
    				resultini.value = parseInt(value16) + parseInt(value17) + parseInt(value18);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
     
    <!-- script PAR --> 
    		<script type="text/javascript">
    		function computeResult7() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultpar = elmt_form.elements['resultpar'];
     
    			var value19 = elmt_form.elements['par1'].value;
    			var value20 = elmt_form.elements['par2'].value;
    			var value21 = elmt_form.elements['par3'].value;
     
    			if (testInt(value19) && testInt(value20) && testInt(value21)) {
    				resultpar.value = parseInt(value19) + parseInt(value20) + parseInt(value21);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
     
    <!-- script ATT --> 
    		<script type="text/javascript">
    		function computeResult8() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultatt = elmt_form.elements['resultatt'];
     
    			var value22 = elmt_form.elements['att1'].value;
    			var value23 = elmt_form.elements['att2'].value;
    			var value24 = elmt_form.elements['att3'].value;
     
    			if (testInt(value22) && testInt(value23) && testInt(value24)) {
    				resultatt.value = parseInt(value22) + parseInt(value23) + parseInt(value24);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
     
    		</script>
     
    </head>
    <body><?php
            require("presentation_generator.php");
            form_meta("presentationfinale.php");
    ?>
    2) presentation_generator.php
    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
    <?php
    function form_meta($wow)
    {
    echo'
    	<form id="form1" method="post" action="'.$wow.'">
     
    		<table width="600" border="0" cellspacing="0" cellpadding="0" class="table">
    			<tr>
                <td valign="top" align="right" >Nom & Pr&eacute;nom du personnage: </td>
                <td valign="top"><input name="nomperso" type="text" id="nomperso" size="25" maxlength="255" /></td>
              </tr>
              <tr>
                <td valign="top" align="right" >&Acirc;ge du personnage: </td>
                <td valign="top"><input name="age" type="text" id="age" size="4" maxlength="4"> ans</td>
              </tr>
              <tr>
               <td valign="top" align="right" >Race </td>
                <td valign="top"><input name="race" type="text" id="race" size="15" maxlength="255"></td>
              </tr>
              <tr>
                <td valign="top" align="right" >Carri&egrave;re : <br /></td>
                <td valign="top"><input name="carriere" type="text" id="carriere" /></td>
              </tr>    
              <tr>
                <td valign="top" align="right" >Lieu de d&eacute;part: <br /></td>
                <td valign="top"><input name="depart" type="text" id="depart"></td>
              </tr>   
    		  <tr>
                <td valign="top" align="right" >Fr&eacute;quence de jeu: <br /></td>
                <td valign="top"><input name="frequence" type="text" id="frequence"></td>
              </tr>  
              <tr>
                <td valign="top" align="right" >Description physique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="physique" cols="50" rows="4" id="physique"></textarea></td>
              </tr>
    		   <tr>
                <td valign="top" align="right" >Description psychologique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="psycho" cols="50" rows="4" id="psycho"></textarea></td>
              </tr>
    		   <tr>
                <td valign="top" align="right" >Histoire du personnage (avant qu\'il ne commence l\'aventure ici) (minimum 15 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="histoire" cols="50" rows="4" id="histoire"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Vos 3 comp&eacute;tence de d&eacute;part (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=1.5_competences" target=_blank>r&egrave;gles</a>):<br /></td>
                <td valign="top"><textarea name="comp" cols="50" rows="2" id="dot"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Votre bourse de pistole et vos dotations initiales (<a href="x" target=_blank>r&egrave;gles</a>):<br /></td>
                <td valign="top"><textarea name="dot" cols="50" rows="2" id="dot"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Autres (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=3.7_regles_concernant_les_croyances" target=_blank>Points de croyances</a>, traits particuliers, notes, etc):<br /></td>
                <td valign="top"><textarea name="autre" cols="50" rows="2" id="autre"></textarea></td>
              </tr>
                </table>
    <!-- debut demarche profil -->
    			<table width="600" border="0" cellspacing="0" cellpadding="0" class="table" align="justify">
    			<tr >
    				<th scope="col"></th>
    				<th scope="col">FOR</th>
    				<th scope="col">END</th>
    				<th scope="col">HAB</th>
    				<th scope="col">CHAR</th>
    				<th scope="col">INT</th>
    				<th scope="col">INI</th>
    				<th scope="col">PAR</th>
    				<th scope="col">ATT</th>
    			</tr>
    			<tr>
    				<th scope="row">Profil de base</th>
    				<td align="left"><input name="for1" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" /></td>
    				<td align="left"><input name="end1" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab1" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char1" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int1" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini1" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par1" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att1" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td>
     
     
    			</tr>
    			<tr>
    				<th scope="row">Vos 5 PC</th>
    				<td align="left"><input name="for2" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" /> 			</td>
    				<td align="left"><input name="end2" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab2" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char2" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int2" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini2" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par2" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att2" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
    				<th scope="row">Bonus/malus de classe (malus = nombre pr&eacute;c&eacute;d&eacute; d\'un - !)</th>
    				<td align="left"><input name="for3" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" />					</td>
    				<td align="left"><input name="end3" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" />	</td>
    				<td align="left"><input name="hab3" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char3" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int3" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini3" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par3" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att3" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
    				<th scope="row">Profil final</th>
    				<td align="left"><input id="resultfor" name="resultfor" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultend" name="resultend" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resulthab" name="resulthab" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultchar" name="resultchar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultint" name="resultint" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultini" name="resultini" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultpar" name="resultpar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultatt" name="resultatt" size="2" maxlength="2" /></td>
     
     
    			</tr>
    		</table><br \>
    		<center><input type="submit" value="G&eacute;n&eacute;rer la pr&eacute;sentation" /></center>
     
        </form>';
    }

    Merci d'avance

  2. #2
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Bonjour,

    Sur les <input> que vous voulez vérifier, vous pouvez ajouter sur le onchange (par exemple) une fonction de la sorte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="ma_verification(this);"
    Cette fonction ferait deux choses, tout d'abord, elle vérifierait que la valeur entrée est bien comprise entre 0 et 3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function ma_verification(champ)
    {
         if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
         }
         else
         {
              alert("Pas ok!");
              champ.value = "";
              champ.focus();
         }
    }
    Ensuite, elle vérifierait la somme totale. Alors soit vous recalculez tout à chaque fois, soit vous utilisez une variable globale que vous incrémentez/décrémentez au fur et à mesure.


    Vous pouvez bien entendu vous servir d'une de vos fonctions déjà existante et lui rajouter ces deux vérifications.
    Par contre, vous avez défini x fois la fonction: testInt(value). Sachez que seule sa dernière définition sera retenue et prise en compte. Donc, ne la définissez qu'une et une seule fois.

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Bonjour

    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onchange="ma_verification(this);"
    je le met dans par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <td align="left"><input name="for2" onchange="javascript:computeResult1();" onchange="ma_verification(this);"
     value="0" size="2" maxlength="2" /> 			</td>
    et la fonction:

    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
    <!-- script FOR --> 
    		<script type="text/javascript">
    		function computeResult1() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultfor = elmt_form.elements['resultfor'];
     
    			var value1 = elmt_form.elements['for1'].value;
    			var value2 = elmt_form.elements['for2'].value;
    			var value3 = elmt_form.elements['for3'].value;
     
    			if (testInt(value1) && testInt(value2) && testInt(value3)) {
    				resultfor.value = parseInt(value1) + parseInt(value2) + parseInt(value3);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		function ma_verification(champ)
    {
         if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
         }
         else
         {
              alert("Pas ok!");
              champ.value = "";
              champ.focus();
         }
    }
     
     
    		</script>
    ?

    Mais pour la somme totale des valeurs de la 2e ligne, je ne vois pas :s
    Je ne connais pas javascript (pas encore) donc je suis un peu largué

    NB: merci pour la remarque du testInt, j'ai donc supprimé tout et remis une seule fois au dernier script

  4. #4
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Non, on ne définit qu'une fois l'évènement mais on peut lui préciser plusieurs actions:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    onchange="javascript:computeResult1();, ma_verification(this);"
    Vous organisez le code comme vous voulez. Personnellement, j'essaierai d'obtenir une seule fonction pour tout vos onchange car ils sont fort semblables. Mais bon, ce qu'il faut bien remarquer c'est que vos fonction computeResult joue sur les colonnes, or ma_verification joue sur les lignes. A vous de vous de voir l'organisation qui vous convient le mieux.

    Variable globale:

    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
     
    var total_ligne_deux = 0;
     
    function ma_verification(champ)
    {
         if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
              if(total_ligne_deux + champ.value > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                   total_ligne_deux += champ.value;
              }
         }
         else
         {
              alert("Pas ok!");
              champ.value = "";
              champ.focus();
         }
    }
    Sauf que dans ce cas-là, on ne voit pas si la personne a modifié la valeur. Si il y avait 2 dans la case et qu'il a mis 1, la variable globale gardera en mémoire 3, au lieu de 1...

    Donc je propose de recalculer à chaque fois:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    ...
         if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
     
              var champ1 = ...;
              var champ2 = ...;
              ...
     
              var total = champ1 +  champ2 + ...;
              if(total > 5)
                    ...
    Avec les éventuels parseInt.

  5. #5
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Alors, d'après ce que je vois, vous avez mis deux fois la fonction ma_verification.
    Ensuite, je vous ai mis dans l'erreur à cause d'une virgule apparue je ne sais pas comment alors qu'il ne la faut pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    onchange="javascript:computeResult1();, ma_verification(this);"

  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Et donc, en script final, on obtiens ?

    Car je ne vois pas par quoi combler les "..."

    Ce que je mettrai:
    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
    function ma_verification(champ)
    {
        if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
     
              var champ1 = ...;
              var champ2 = ...;
              ...
     
              var total = champ1 +  champ2 + ...;
              if(total > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                   total += champ.value;
              }
         }
         else
         {
              alert("Pas ok!");
              champ.value = "";
              champ.focus();
         }
    }
    Mais sans savoir ce que je dois mettre au niveau des var champ1 = ...;
    Merci d'avance

  7. #7
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Je ne sais pas si vous avez vu ma remarque précédente au sujet de la virgule parasite.

    Sinon, ce sont les champs que vous désirez vérifier:

    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
     
              var champ1 = elmt_form.elements['for2'].value;
              var champ2 = elmt_form.elements['end2'].value;
              //... jusque att2
     
              var total = champ1 +  champ2 + ...; //ici, il faut peut-être des parseInt (ou bien testInt)
              if(total > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                   alert("Ok");
              }

  8. #8
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Je viens de voir l'édit, j'ai donc retiré les virgules

    Okey pour le code. Les parseInt (ou testInt) servent à ? Et comment savoir si je dois en mettre ou non ?

    NB: pour les testInt, il n'en reste qu'un, dans le script de la dernière colonne


    EDIT:

    Ne marche toujours pas

  9. #9
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Pourriez-vous nous donner le code HTML généré de la page (afficher la source) ?

    Il ne faut qu'une seule fois la définition de la fonction testInt. Et vous l'appelez autant de fois que vous voulez dans toute la page.
    Je ne sais pas pourquoi vous avez créez la fonction testInt car elle fait la même chose que parseInt. En fait, Javascript n'a pas réellement de typage pour ses variables. Donc parfois, on ne sait pas si on a une chaine de caractères ou bien un chiffre. Donc on peut obtenir des résultats non voulus:

    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
     
    var a = 10;
    var b = 2;
    var c = a + b;
     
    //Résultat espéré: 12 (la somme de deux chiffres)
    //Résultat possible: 102 (la concaténation de deux chaines de caractères)
     
    if(a > b)
       alert(1);
    else
       alert(2);
     
    //Résultat espéré: alert(1); (comparaison de deux chiffres)
    //Résultat possible: alert(2); (comparaison de deux chaines de caractères et vu que 2 est plus loin dans l'alphabet que 1, 2 devient supérieur à 10...
    Le parseInt va utiliser la partie entière de ce que vous lui donnez comme valeur. Si par contre vous avez deux chiffres et que vous voulez une concaténation de chaine de caratères, il faut faire une entourloupe du style:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var a = "1";
    var b = "2";
    var c = a + "" + b;

  10. #10
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Voici la source de la page affichée dans le navigateur:

    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
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>Warhammer JDR: Jeu de r&ocirc;le par forum</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link href="stylegenprez.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
    function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
    </script>
    <!-- script FOR --> 
    		<script type="text/javascript">
    		function computeResult1() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultfor = elmt_form.elements['resultfor'];
     
    			var value1 = elmt_form.elements['for1'].value;
    			var value2 = elmt_form.elements['for2'].value;
    			var value3 = elmt_form.elements['for3'].value;
     
    			if (testInt(value1) && testInt(value2) && testInt(value3)) {
    				resultfor.value = parseInt(value1) + parseInt(value2) + parseInt(value3);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
    <!-- script END --> 
    		<script type="text/javascript">
    		function computeResult2() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultend = elmt_form.elements['resultend'];
     
    			var value4 = elmt_form.elements['end1'].value;
    			var value5 = elmt_form.elements['end2'].value;
    			var value6 = elmt_form.elements['end3'].value;
     
    			if (testInt(value4) && testInt(value5) && testInt(value6)) {
    				resultend.value = parseInt(value4) + parseInt(value5) + parseInt(value6);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
    <!-- script HAB --> 
    		<script type="text/javascript">
    		function computeResult3() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resulthab = elmt_form.elements['resulthab'];
     
    			var value7 = elmt_form.elements['hab1'].value;
    			var value8 = elmt_form.elements['hab2'].value;
    			var value9 = elmt_form.elements['hab3'].value;
     
    			if (testInt(value7) && testInt(value8) && testInt(value9)) {
    				resulthab.value = parseInt(value7) + parseInt(value8) + parseInt(value9);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script CHAR --> 
    		<script type="text/javascript">
    		function computeResult4() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultchar = elmt_form.elements['resultchar'];
     
    			var value10 = elmt_form.elements['char1'].value;
    			var value11 = elmt_form.elements['char2'].value;
    			var value12 = elmt_form.elements['char3'].value;
     
    			if (testInt(value10) && testInt(value11) && testInt(value12)) {
    				resultchar.value = parseInt(value10) + parseInt(value11) + parseInt(value12);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script INT --> 
    		<script type="text/javascript">
    		function computeResult5() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultint = elmt_form.elements['resultint'];
     
    			var value13 = elmt_form.elements['int1'].value;
    			var value14 = elmt_form.elements['int2'].value;
    			var value15 = elmt_form.elements['int3'].value;
     
    			if (testInt(value13) && testInt(value14) && testInt(value15)) {
    				resultint.value = parseInt(value13) + parseInt(value14) + parseInt(value15);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
     <!-- script INI --> 
    		<script type="text/javascript">
    		function computeResult6() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultini = elmt_form.elements['resultini'];
     
    			var value16 = elmt_form.elements['ini1'].value;
    			var value17 = elmt_form.elements['ini2'].value;
    			var value18 = elmt_form.elements['ini3'].value;
     
    			if (testInt(value16) && testInt(value17) && testInt(value18)) {
    				resultini.value = parseInt(value16) + parseInt(value17) + parseInt(value18);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script PAR --> 
    		<script type="text/javascript">
    		function computeResult7() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultpar = elmt_form.elements['resultpar'];
     
    			var value19 = elmt_form.elements['par1'].value;
    			var value20 = elmt_form.elements['par2'].value;
    			var value21 = elmt_form.elements['par3'].value;
     
    			if (testInt(value19) && testInt(value20) && testInt(value21)) {
    				resultpar.value = parseInt(value19) + parseInt(value20) + parseInt(value21);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script ATT --> 
    		<script type="text/javascript">
    		function computeResult8() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultatt = elmt_form.elements['resultatt'];
     
    			var value22 = elmt_form.elements['att1'].value;
    			var value23 = elmt_form.elements['att2'].value;
    			var value24 = elmt_form.elements['att3'].value;
     
    			if (testInt(value22) && testInt(value23) && testInt(value24)) {
    				resultatt.value = parseInt(value22) + parseInt(value23) + parseInt(value24);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		</script>
     
    <!-- Anti-abus des PC-->
    <script >
    function ma_verification(champ)
    {
        if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
     
              var champ1 = elmt_form.elements['for2'].value;
              var champ2 = elmt_form.elements['end2'].value;
    		  var champ3 = elmt_form.elements['hab2'].value;
    		  var champ4 = elmt_form.elements['char2'].value;
    		  var champ5 = elmt_form.elements['int2'].value;
    		  var champ6 = elmt_form.elements['ini2'].value;
    		  var champ7 = elmt_form.elements['par2'].value;
    		  var champ8 = elmt_form.elements['att2'].value;
     
              var total = champ1 +  champ2 + champ3 + champ4 + champ5 + champ6 + champ7 + champ8;
              if(total > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                   alert("Ok");
              }
     
    }
     
    </script>
    </head>
    <body>
    <div id="container">
    	<div id="header">
    		<div id="nav"></div>
    	</div>
      <div id="contentenvoi">
        <div id="text1">
     
    	    <table width="644" border="0">
    	      <tr>
    	        <td><div class="heading">
    	      <p>Warhammer JDR</p>
    	              <blockquote>
    	                <blockquote>
    	                  <p>G&eacute;n&eacute;rateur de personnage</p>
     
                        </blockquote>
                  </blockquote>
     
                </div>
    	          <p><em><br />
                Cette page vous permet, gr&acirc;ce &agrave; une interface claire et rapide, de cr&eacute;er votre personnage de A &agrave; Z, de mani&egrave;re assist&eacute;e et pas &agrave; pas. Suivez les &eacute;tapes une &agrave; une, et vous g&eacute;n&egrave;rerez le code complet correspondant &agrave; la fiche de votre personnage, mise en page, qui n'attendra qu'une validation de la part des MJ. </em><br /><strong>Veuillez remplir ce formulaire pour g&eacute;n&eacute;rer votre fiche personnage simplement.</strong></p></td>
     
      <td align="right"><div id="quicklinks">
    				<ul>
    					<li><a href="http://warhammer-jdr.kalikoba.com/index.php"><strong>Accueil</strong></a></li>
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/index.php"><strong>Forum de jeu V2</strong></a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php">Biblioth&egrave;que V2 (r&egrave;gles, etc)</a></li>
                        <li><a href="mailto:admin_warhammer-jdr@skynet.be">Contacter l'administrateur</a></li>
     
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/viewtopic.php?f=1&t=157">Nouveau ? Vos premiers pas</a></li>
    					<li><a href=".">G&eacute;n&eacute;rateur de fiche personnage</a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/carriere/">Module des carri&egrave;res</a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/bestiaire/">Le bestiaire</a></li>
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/viewtopic.php?f=4&t=65">FAQ</a></li>
     
    				</ul>
    			</div></td>
              </tr>
          </table>
     
    	  </div>
     
    	<form id="form1" method="post" action="presentationfinale.php">
     
    		<table width="600" border="0" cellspacing="0" cellpadding="0" class="table">
    			<tr>
                <td valign="top" align="right" >Nom & Pr&eacute;nom du personnage: </td>
     
                <td valign="top"><input name="nomperso" type="text" id="nomperso" size="25" maxlength="255" /></td>
              </tr>
              <tr>
                <td valign="top" align="right" >&Acirc;ge du personnage: </td>
                <td valign="top"><input name="age" type="text" id="age" size="4" maxlength="4"> ans</td>
              </tr>
              <tr>
     
               <td valign="top" align="right" >Race </td>
                <td valign="top"><input name="race" type="text" id="race" size="15" maxlength="255"></td>
              </tr>
              <tr>
                <td valign="top" align="right" >Carri&egrave;re : <br /></td>
                <td valign="top"><input name="carriere" type="text" id="carriere" /></td>
              </tr>    
              <tr>
     
                <td valign="top" align="right" >Lieu de d&eacute;part: <br /></td>
                <td valign="top"><input name="depart" type="text" id="depart"></td>
              </tr>   
    		  <tr>
                <td valign="top" align="right" >Fr&eacute;quence de jeu: <br /></td>
                <td valign="top"><input name="frequence" type="text" id="frequence"></td>
              </tr>  
              <tr>
     
                <td valign="top" align="right" >Description physique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="physique" cols="50" rows="4" id="physique"></textarea></td>
              </tr>
    		   <tr>
                <td valign="top" align="right" >Description psychologique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="psycho" cols="50" rows="4" id="psycho"></textarea></td>
     
              </tr>
    		   <tr>
                <td valign="top" align="right" >Histoire du personnage (avant qu'il ne commence l'aventure ici) (minimum 15 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="histoire" cols="50" rows="4" id="histoire"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Vos 3 comp&eacute;tence de d&eacute;part (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=1.5_competences" target=_blank>r&egrave;gles</a>):<br /></td>
     
                <td valign="top"><textarea name="comp" cols="50" rows="2" id="comp"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Votre bourse de pistole et vos dotations initiales (<a href="x" target=_blank>r&egrave;gles</a>):<br /></td>
                <td valign="top"><textarea name="dot" cols="50" rows="2" id="dot"></textarea></td>
              </tr>
     
    		  <tr>
                <td valign="top" align="right" >Autres (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=3.7_regles_concernant_les_croyances" target=_blank>Points de croyances</a>, traits particuliers, notes, etc):<br /></td>
                <td valign="top"><textarea name="autre" cols="50" rows="2" id="autre"></textarea></td>
              </tr>
                </table>
    <!-- debut demarche profil -->
    			<table width="600" border="0" cellspacing="0" cellpadding="0" class="table" align="justify">
     
    			<tr >
    				<th scope="col"></th>
    				<th scope="col">FOR</th>
    				<th scope="col">END</th>
    				<th scope="col">HAB</th>
    				<th scope="col">CHAR</th>
    				<th scope="col">INT</th>
     
    				<th scope="col">INI</th>
    				<th scope="col">PAR</th>
    				<th scope="col">ATT</th>
    			</tr>
    			<tr>
    				<th scope="row">Profil de base</th>
    				<td align="left"><input name="for1" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" /></td>
     
    				<td align="left"><input name="end1" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab1" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char1" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int1" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini1" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par1" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="att1" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td>
     
     
    			</tr>
    			<tr>
    				<th scope="row">Vos 5 PC</th>
    				<td align="left"><input name="for2" onchange="javascript:computeResult1(); ma_verification(this);"
     value="0" size="2" maxlength="2" /> 			</td>
    				<td align="left"><input name="end2" onchange="javascript:computeResult2(); ma_verification(this);"
     value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab2" onchange="javascript:computeResult3(); ma_verification(this);"
      value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="char2" onchange="javascript:computeResult4(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int2" onchange="javascript:computeResult5(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini2" onchange="javascript:computeResult6(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par2" onchange="javascript:computeResult7(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att2" onchange="javascript:computeResult8(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
     
    				<th scope="row">Bonus/malus de classe (malus = nombre pr&eacute;c&eacute;d&eacute; d'un - !)</th>
    				<td align="left"><input name="for3" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" />					</td>
    				<td align="left"><input name="end3" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" />	</td>
    				<td align="left"><input name="hab3" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char3" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="int3" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini3" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par3" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att3" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
    				<th scope="row">Profil final</th>
     
    				<td align="left"><input id="resultfor" name="resultfor" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultend" name="resultend" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resulthab" name="resulthab" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultchar" name="resultchar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultint" name="resultint" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultini" name="resultini" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultpar" name="resultpar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultatt" name="resultatt" size="2" maxlength="2" /></td>
     
     
    			</tr>
     
    		</table><br \>
    		<center><input type="submit" value="G&eacute;n&eacute;rer la pr&eacute;sentation" /></center>
     
        </form>    </div>    
     
    	<div id="pagebottom"></div>
    	<div id="footer">
    	  <p class="small2">Site optimis&eacute; pour <a href="http://www.mozilla-europe.org/fr/firefox/">Firefox</a> et <a href="http://www.google.com/chrome">Google Chrome</a><br />	&copy; Interdiction de faire une quelconque reproduction | Id&eacute;es et Design appartiennent &agrave; l'auteur de ce forum, et les messages et id&eacute;es de RP aux membres. <br />	&copy; L'univers, le contexte, les noms et autres appartiennent &agrave; Games Workshop&reg;</p>
     
    	</div>
    </div>
    </body>
    </html>

  11. #11
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Quand vous dites que ça ne marche pas, que se passe-t-il exactement ?

    Alors, effectivement, il faut compléter les vérifications avant de faire la somme car si votre case est vide, il va faire une concaténation et faire un parseInt de vide, ça ne va pas non plus. Donc on va faire un if (j'utilise une syntaxe particulière: condition ? valeur si vrai : valeur si faux):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    champ1 = champ1.equals("") ? 0 : champ1;
    champ2 = champ2.equals("") ? 0 : champ2;
    ...

  12. #12
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Et bien ce qui ne marche pas c'est la limite de valeur (3) et la limite de la somme de la ligne (5)

    Ces if sont à mettre en début de fonction ou à un endroit précis ?

  13. #13
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Je vais regarder.

    Ils sont à mettre entre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    var champ8 = elmt_form.elements['att2'].value;
     
    //Ici
     
    var total = champ1 +  champ2 + champ3 + champ4 + champ5 + champ6 + champ7 + champ8;

  14. #14
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Vous pourriez mettre des alert en tout début de fonctions:

    computeResult1()
    et
    ma_verification(champ)

    ? Ensuite vous modifiez la valeur du FOR, vos PC 5, vous quittez la case. J'espère obtenir au moins un des deux alert et de préférences, les deux.
    Mais quoiqu'il en soit, vous aurez un petit triangle jaune en bas à gauche de votre navigateur. Ca annonce une erreur Javascript...

  15. #15
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Ha, il me semble qu'il y a un petit souci dans la fonction/ Il manque les choses en rouge:

    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
    function ma_verification(champ)
    {
        if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
              alert("Ok");
              
              var champ1 = elmt_form.elements['for2'].value;
              var champ2 = elmt_form.elements['end2'].value;
    		  var champ3 = elmt_form.elements['hab2'].value;
    		  var champ4 = elmt_form.elements['char2'].value;
    		  var champ5 = elmt_form.elements['int2'].value;
    		  var champ6 = elmt_form.elements['ini2'].value;
    		  var champ7 = elmt_form.elements['par2'].value;
    		  var champ8 = elmt_form.elements['att2'].value;
             
              var total = champ1 +  champ2 + champ3 + champ4 + champ5 + champ6 + champ7 + champ8;
              if(total > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                   alert("Ok");
              }
         }
         else
         {
               alert("Pas ok!");
               champ.value = "";
               champ.focus();        
         }
    }

  16. #16
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Ok maintenant la limite du maximum 3 fonctionne

    Mais apparemment pas celle de 5 sur la somme des valeurs de la ligne :s

    On progresse

  17. #17
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut =D
    Avez-vous rajoutez les parseInt lors de la somme ? A quoi ressemble le code HTML généré maintenant ?

  18. #18
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     var total = parseInt(champ1) + parseInt(champ2) + parseInt(champ3) + parseInt(champ4) + parseInt(champ5) + parseInt(champ6) + parseInt(champ7) + parseInt(champ8);
    comme ceci ? Donc si je veux, je peux supprimer testInt et remplacer par parseInt ?

    Le 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
    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
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
    324
    325
    326
    327
    328
    329
    330
    331
    332
    333
    334
    335
    336
    337
    338
    339
    340
    341
    342
    343
    344
    345
    346
    347
    348
    349
    350
    351
    352
    353
    354
    355
    356
    357
    358
    359
    360
    361
    362
    363
    364
    365
    366
    367
    368
    369
    370
    371
    372
    373
    374
    375
    376
    377
    378
    379
    380
    381
    382
    383
    384
    385
    386
    387
    388
    389
    390
    391
    392
    393
    394
    395
    396
    397
    398
    399
    400
    401
    402
    403
    404
    405
    406
    407
    408
    409
    410
    411
    412
    413
    414
    415
    416
    417
    418
    419
    420
    421
    422
    423
    424
    425
    426
    427
    428
    429
    430
    431
    432
    433
    434
    435
    436
    437
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html>
    <head>
    <title>Warhammer JDR: Jeu de r&ocirc;le par forum</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <link href="stylegenprez.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript">
    function testInt(value) 
    		{
    			return value == parseInt(value);
    		}
    </script>
    <!-- script FOR --> 
    		<script type="text/javascript">
    		function computeResult1() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultfor = elmt_form.elements['resultfor'];
     
    			var value1 = elmt_form.elements['for1'].value;
    			var value2 = elmt_form.elements['for2'].value;
    			var value3 = elmt_form.elements['for3'].value;
     
    			if (testInt(value1) && testInt(value2) && testInt(value3)) {
    				resultfor.value = parseInt(value1) + parseInt(value2) + parseInt(value3);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
    <!-- script END --> 
    		<script type="text/javascript">
    		function computeResult2() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultend = elmt_form.elements['resultend'];
     
    			var value4 = elmt_form.elements['end1'].value;
    			var value5 = elmt_form.elements['end2'].value;
    			var value6 = elmt_form.elements['end3'].value;
     
    			if (testInt(value4) && testInt(value5) && testInt(value6)) {
    				resultend.value = parseInt(value4) + parseInt(value5) + parseInt(value6);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
    <!-- script HAB --> 
    		<script type="text/javascript">
    		function computeResult3() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resulthab = elmt_form.elements['resulthab'];
     
    			var value7 = elmt_form.elements['hab1'].value;
    			var value8 = elmt_form.elements['hab2'].value;
    			var value9 = elmt_form.elements['hab3'].value;
     
    			if (testInt(value7) && testInt(value8) && testInt(value9)) {
    				resulthab.value = parseInt(value7) + parseInt(value8) + parseInt(value9);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script CHAR --> 
    		<script type="text/javascript">
    		function computeResult4() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultchar = elmt_form.elements['resultchar'];
     
    			var value10 = elmt_form.elements['char1'].value;
    			var value11 = elmt_form.elements['char2'].value;
    			var value12 = elmt_form.elements['char3'].value;
     
    			if (testInt(value10) && testInt(value11) && testInt(value12)) {
    				resultchar.value = parseInt(value10) + parseInt(value11) + parseInt(value12);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script INT --> 
    		<script type="text/javascript">
    		function computeResult5() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultint = elmt_form.elements['resultint'];
     
    			var value13 = elmt_form.elements['int1'].value;
    			var value14 = elmt_form.elements['int2'].value;
    			var value15 = elmt_form.elements['int3'].value;
     
    			if (testInt(value13) && testInt(value14) && testInt(value15)) {
    				resultint.value = parseInt(value13) + parseInt(value14) + parseInt(value15);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
     <!-- script INI --> 
    		<script type="text/javascript">
    		function computeResult6() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultini = elmt_form.elements['resultini'];
     
    			var value16 = elmt_form.elements['ini1'].value;
    			var value17 = elmt_form.elements['ini2'].value;
    			var value18 = elmt_form.elements['ini3'].value;
     
    			if (testInt(value16) && testInt(value17) && testInt(value18)) {
    				resultini.value = parseInt(value16) + parseInt(value17) + parseInt(value18);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script PAR --> 
    		<script type="text/javascript">
    		function computeResult7() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultpar = elmt_form.elements['resultpar'];
     
    			var value19 = elmt_form.elements['par1'].value;
    			var value20 = elmt_form.elements['par2'].value;
    			var value21 = elmt_form.elements['par3'].value;
     
    			if (testInt(value19) && testInt(value20) && testInt(value21)) {
    				resultpar.value = parseInt(value19) + parseInt(value20) + parseInt(value21);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
     
     
    		</script>
     
    <!-- script ATT --> 
    		<script type="text/javascript">
    		function computeResult8() 
    		{
    			var elmt_form = document.getElementById('form1');
    			var resultatt = elmt_form.elements['resultatt'];
     
    			var value22 = elmt_form.elements['att1'].value;
    			var value23 = elmt_form.elements['att2'].value;
    			var value24 = elmt_form.elements['att3'].value;
     
    			if (testInt(value22) && testInt(value23) && testInt(value24)) {
    				resultatt.value = parseInt(value22) + parseInt(value23) + parseInt(value24);
    			}
    			else {
    				alert('Une valeur a mal &eacute;t&eacute; enregistr&eacute;e ou il manque une valeur');
    			}
    		}
     
    		</script>
     
    <!-- Anti-abus des PC-->
    <script type="text/javascript">
    function ma_verification(champ)
    {
        if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
     
     
              var champ1 = elmt_form.elements['for2'].value;
              var champ2 = elmt_form.elements['end2'].value;
    		  var champ3 = elmt_form.elements['hab2'].value;
    		  var champ4 = elmt_form.elements['char2'].value;
    		  var champ5 = elmt_form.elements['int2'].value;
    		  var champ6 = elmt_form.elements['ini2'].value;
    		  var champ7 = elmt_form.elements['par2'].value;
    		  var champ8 = elmt_form.elements['att2'].value;
     
    		 champ1 = champ1.equals("") ? 0 : champ1;
    		 champ2 = champ2.equals("") ? 0 : champ2;
    		 champ3 = champ3.equals("") ? 0 : champ3;
    		 champ4 = champ4.equals("") ? 0 : champ4;
    		 champ5 = champ5.equals("") ? 0 : champ5;
    		 champ6 = champ6.equals("") ? 0 : champ6;
    		 champ7 = champ7.equals("") ? 0 : champ7;
    		 champ8 = champ8.equals("") ? 0 : champ8;
     
     
              var total = parseInt(champ1) + parseInt(champ2) + parseInt(champ3) + parseInt(champ4) + parseInt(champ5) + parseInt(champ6) + parseInt(champ7) + parseInt(champ8);
              if(total > 5)
              {
                   alert("Pas ok!");
                   champ.value = "";
                   champ.focus();
              }
              else
              {
                alert("Ok");
     
              }
    		  }
         else
         {
               alert("Vous ne pouvez pas investir plus de 3 PC dans une même caractéristique au départ");
               champ.value = "";
               champ.focus();        
         }
     
     
    }
     
    </script>
    </head>
    <body>
    <div id="container">
    	<div id="header">
    		<div id="nav"></div>
    	</div>
      <div id="contentenvoi">
        <div id="text1">
     
    	    <table width="644" border="0">
    	      <tr>
    	        <td><div class="heading">
    	      <p>Warhammer JDR</p>
    	              <blockquote>
    	                <blockquote>
    	                  <p>G&eacute;n&eacute;rateur de personnage</p>
     
                        </blockquote>
                  </blockquote>
     
                </div>
    	          <p><em><br />
                Cette page vous permet, gr&acirc;ce &agrave; une interface claire et rapide, de cr&eacute;er votre personnage de A &agrave; Z, de mani&egrave;re assist&eacute;e et pas &agrave; pas. Suivez les &eacute;tapes une &agrave; une, et vous g&eacute;n&egrave;rerez le code complet correspondant &agrave; la fiche de votre personnage, mise en page, qui n'attendra qu'une validation de la part des MJ. </em><br /><strong>Veuillez remplir ce formulaire pour g&eacute;n&eacute;rer votre fiche personnage simplement.</strong></p></td>
     
      <td align="right"><div id="quicklinks">
    				<ul>
    					<li><a href="http://warhammer-jdr.kalikoba.com/index.php"><strong>Accueil</strong></a></li>
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/index.php"><strong>Forum de jeu V2</strong></a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php">Biblioth&egrave;que V2 (r&egrave;gles, etc)</a></li>
                        <li><a href="mailto:admin_warhammer-jdr@skynet.be">Contacter l'administrateur</a></li>
     
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/viewtopic.php?f=1&t=157">Nouveau ? Vos premiers pas</a></li>
    					<li><a href=".">G&eacute;n&eacute;rateur de fiche personnage</a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/carriere/">Module des carri&egrave;res</a></li>
    					<li><a href="http://warhammer-jdr.kalikoba.com/bestiaire/">Le bestiaire</a></li>
                        <li><a href="http://warhammer-jdr.kalikoba.com/phpBB3/viewtopic.php?f=4&t=65">FAQ</a></li>
     
    				</ul>
    			</div></td>
              </tr>
          </table>
     
    	  </div>
     
    	<form id="form1" method="post" action="presentationfinale.php">
     
    		<table width="600" border="0" cellspacing="0" cellpadding="0" class="table">
    			<tr>
                <td valign="top" align="right" >Nom & Pr&eacute;nom du personnage: </td>
     
                <td valign="top"><input name="nomperso" type="text" id="nomperso" size="25" maxlength="255" /></td>
              </tr>
              <tr>
                <td valign="top" align="right" >&Acirc;ge du personnage: </td>
                <td valign="top"><input name="age" type="text" id="age" size="4" maxlength="4"> ans</td>
              </tr>
              <tr>
     
               <td valign="top" align="right" >Race </td>
                <td valign="top"><input name="race" type="text" id="race" size="15" maxlength="255"></td>
              </tr>
              <tr>
                <td valign="top" align="right" >Carri&egrave;re : <br /></td>
                <td valign="top"><input name="carriere" type="text" id="carriere" /></td>
              </tr>    
              <tr>
     
                <td valign="top" align="right" >Lieu de d&eacute;part: <br /></td>
                <td valign="top"><input name="depart" type="text" id="depart"></td>
              </tr>   
    		  <tr>
                <td valign="top" align="right" >Fr&eacute;quence de jeu: <br /></td>
                <td valign="top"><input name="frequence" type="text" id="frequence"></td>
              </tr>  
              <tr>
     
                <td valign="top" align="right" >Description physique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="physique" cols="50" rows="4" id="physique"></textarea></td>
              </tr>
    		   <tr>
                <td valign="top" align="right" >Description psychologique du personnage (minimum 10 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="psycho" cols="50" rows="4" id="psycho"></textarea></td>
     
              </tr>
    		   <tr>
                <td valign="top" align="right" >Histoire du personnage (avant qu'il ne commence l'aventure ici) (minimum 15 lignes compl&egrave;tes)<br /></td>
                <td valign="top"><textarea name="histoire" cols="50" rows="4" id="histoire"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Vos 3 comp&eacute;tence de d&eacute;part (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=1.5_competences" target=_blank>r&egrave;gles</a>):<br /></td>
     
                <td valign="top"><textarea name="comp" cols="50" rows="2" id="comp"></textarea></td>
              </tr>
    		  <tr>
                <td valign="top" align="right" >Votre bourse de pistole et vos dotations initiales (<a href="x" target=_blank>r&egrave;gles</a>):<br /></td>
                <td valign="top"><textarea name="dot" cols="50" rows="2" id="dot"></textarea></td>
              </tr>
     
    		  <tr>
                <td valign="top" align="right" >Autres (<a href="http://warhammer-jdr.kalikoba.com/wiki-v2/doku.php?id=3.7_regles_concernant_les_croyances" target=_blank>Points de croyances</a>, traits particuliers, notes, etc):<br /></td>
                <td valign="top"><textarea name="autre" cols="50" rows="2" id="autre"></textarea></td>
              </tr>
                </table>
    <!-- debut demarche profil -->
    			<table width="600" border="0" cellspacing="0" cellpadding="0" class="table" align="justify">
     
    			<tr >
    				<th scope="col"></th>
    				<th scope="col">FOR</th>
    				<th scope="col">END</th>
    				<th scope="col">HAB</th>
    				<th scope="col">CHAR</th>
    				<th scope="col">INT</th>
     
    				<th scope="col">INI</th>
    				<th scope="col">PAR</th>
    				<th scope="col">ATT</th>
    			</tr>
    			<tr>
    				<th scope="row">Profil de base</th>
    				<td align="left"><input name="for1" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" /></td>
     
    				<td align="left"><input name="end1" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab1" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char1" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int1" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini1" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par1" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="att1" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td>
     
     
    			</tr>
    			<tr>
    				<th scope="row">Vos 5 PC</th>
    				<td align="left"><input name="for2" onchange="javascript:computeResult1(); ma_verification(this);"
     value="0" size="2" maxlength="2" /> 			</td>
    				<td align="left"><input name="end2" onchange="javascript:computeResult2(); ma_verification(this);"
     value="0" size="2" maxlength="2" /> 	</td>
    				<td align="left"><input name="hab2" onchange="javascript:computeResult3(); ma_verification(this);"
      value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="char2" onchange="javascript:computeResult4(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="int2" onchange="javascript:computeResult5(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini2" onchange="javascript:computeResult6(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par2" onchange="javascript:computeResult7(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att2" onchange="javascript:computeResult8(); ma_verification(this);"
     value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
     
    				<th scope="row">Bonus/malus de classe (malus = nombre pr&eacute;c&eacute;d&eacute; d'un - !)</th>
    				<td align="left"><input name="for3" onchange="javascript:computeResult1();" value="0" size="2" maxlength="2" />					</td>
    				<td align="left"><input name="end3" onchange="javascript:computeResult2();" value="0" size="2" maxlength="2" />	</td>
    				<td align="left"><input name="hab3" onchange="javascript:computeResult3();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="char3" onchange="javascript:computeResult4();" value="0" size="2" maxlength="2" />  				</td>
     
    				<td align="left"><input name="int3" onchange="javascript:computeResult5();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="ini3" onchange="javascript:computeResult6();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="par3" onchange="javascript:computeResult7();" value="0" size="2" maxlength="2" />  				</td>
    				<td align="left"><input name="att3" onchange="javascript:computeResult8();" value="0" size="2" maxlength="2" />  				</td
    			</tr>
    			<tr>
    				<th scope="row">Profil final</th>
     
    				<td align="left"><input id="resultfor" name="resultfor" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultend" name="resultend" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resulthab" name="resulthab" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultchar" name="resultchar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultint" name="resultint" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultini" name="resultini" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultpar" name="resultpar" size="2" maxlength="2" /></td>
    				<td align="left"><input id="resultatt" name="resultatt" size="2" maxlength="2" /></td>
     
     
    			</tr>
     
    		</table><br \>
    		<center><input type="submit" value="G&eacute;n&eacute;rer la pr&eacute;sentation" /></center>
     
        </form>    </div>    
     
    	<div id="pagebottom"></div>
    	<div id="footer">
    	  <p class="small2">Site optimis&eacute; pour <a href="http://www.mozilla-europe.org/fr/firefox/">Firefox</a> et <a href="http://www.google.com/chrome">Google Chrome</a><br />	&copy; Interdiction de faire une quelconque reproduction | Id&eacute;es et Design appartiennent &agrave; l'auteur de ce forum, et les messages et id&eacute;es de RP aux membres. <br />	&copy; L'univers, le contexte, les noms et autres appartiennent &agrave; Games Workshop&reg;</p>
     
    	</div>
    </div>
    </body>
    </html>

  19. #19
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 915
    Points
    79 915
    Par défaut
    Ok, je vois le malaise.

    Alors avant que je n'oublie, ne remettez pas à vide dans les alert("Pas ok!"); mais mettez plutôt zéro afin de respecter votre tableau de départ:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    alert("Pas ok!");
    champ.value = 0;
    champ.focus();
    A corriger dans les deux bouts de code qui lance l'alert d'erreur.

    Donc le gros souci, c'est que vous récupérez les input en passant par leur nom et leur formulaire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    elmt_form.elements
    Je n'ai pas fait attention donc vous devez d'abord récupérer le formulaire comme dans les autres fonctions et ça peut se faire à ce niveau-ci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        if(parseInt(champ.value,10) >= 0 && parseInt(champ.value,10) <= 3)
         {
             var elmt_form = document.getElementById('form1');
              
              var champ1 = elmt_form.elements['for2'].value;
              var champ2 = elmt_form.elements['end2'].value;

  20. #20
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Avril 2010
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2010
    Messages : 127
    Points : 36
    Points
    36
    Par défaut
    Je pensais avoir mis le lien vers la page mais apparemment non:
    http://warhammer-jdr.kalikoba.com/te...esentation.php

    Alors avant que je n'oublie, ne remettez pas à vide dans les alert("Pas ok!"); mais mettez plutôt zéro afin de respecter votre tableau de départ:
    J'allais justement demander comment faire ça ^^
    NB: il faudrait aussi que lorsque on met trop, le message d'erreur s'affichant alors, la valeur de la dernière ligne ne soit pas celle de la somme des valeurs contenant la valeur plus grande que 3. Testez par vous même en mettant 4, vous obtiendrez le message d'erreur, la case retombe a 0, mais la somme qui était faite avec le 4 reste.

    Au niveau du contrôle de la ligne (maximum 5), toujours rien ^^


    NB: J'ai ajouté une protection en ajoutant l'attribut disabled à la dernière ligne, afin que les valeurs des sommes ne soient pas modifiables

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/06/2012, 08h11
  2. Requete : Valeur maximum pour chaque jour
    Par totollix dans le forum Langage SQL
    Réponses: 5
    Dernier message: 30/12/2009, 09h48
  3. Réponses: 2
    Dernier message: 10/06/2009, 10h59
  4. Valeur par défaut pour une input box
    Par beegees dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 29/12/2008, 15h54
  5. Réponses: 2
    Dernier message: 18/10/2003, 14h42

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