Bonjour,
j'ai un formulaire ou on saisi un nombre et j'aimerais que l'utilisateur ne puisse y insérer de chiffre négatif, je pense que c'est mieux de le faire en javascript, ai-je raison ?
pourriez vous me guidez
Bonjour,
j'ai un formulaire ou on saisi un nombre et j'aimerais que l'utilisateur ne puisse y insérer de chiffre négatif, je pense que c'est mieux de le faire en javascript, ai-je raison ?
pourriez vous me guidez
le plus sur est de faire une focntion de vérification dans le onsubmit du form
et dans le head
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 <form action='javascript:alert('ok')' onsubmit='retrun pasdenegatif()' > <input type='text' id='monchamps' />
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <script type='text/javascript'> function pasdenegatif(){ return Number(document.getElementById('lonchamps').value)<0 }
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Oui/Non.Envoyé par budiste
Le mieux c'est de faire le controle coté client en JavaScript (pour la rapidité de la chose, parceque ça permet de prévenir tout de suite l'utilisateur) et coté serveur, car il ne faut surtout pas faire confiance à ce qui se passe sur le client.....
Pour le comment (en javascript), c'est dans la
pas assez rapide petit scarabée ..pour la rapidité de la chose,
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
bon voila j'ai adapté a mon formulaire (c'est un panier ou il y a plusieurs produit et leur quantité est QTE_x ou x change pour chaque :
ensuite la fonction javascript est la suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <form name="Formpanier" method="POST" action="index2.php?panier=1&action=1&idpdt=<? echo $cat['IDARTICLE'];?>" onsubmit='retrun pasdenegatif()'> ... <input type="text" name="QTE_<? echo $indice;?>" value="<? echo $qtearticle;?>" align="right" size="2" id="quant"> ... </form>
mais quand je -60 ou -quelquechose, ca ne fait rien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function pasdenegatif(){ return Number(document.getElementById('quant').value)<0 }
et je ne vois pas comment mettre ce code entierement :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form action='javascript:alert('ok')' onsubmit='retrun pasdenegatif()' >
ça m'apprendra à me précipiter ...
et toi ça t'apprendra a faire du copier coller sans vérifier ...
return et pas retrun !!!!
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
desole mais je comprends pas ce que tu as mis au dessus
Voila j'ai mis ca comme fonction maintenant mais il ne se passe toujours rien :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 function pasdenegatif(){ if ((document.getElementById('quant').value)<0){ alert ('Vous ne pouvez pas mettre de quantité négative.'); return false; } return true; }
<form action='javascript:alert('ok')' onsubmit='retrun pasdenegatif()' >
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
ah oui pardon
sinon ca marche seulement quand il n'y a qu'un produit dans le panier
comment faire quand il y en a plusieurs
probleme meme quand il n'y a qu'un produit :
la premiere fois il me dit qu'on ne peut pas mettre de valeur negative apres il dit plus rien
refile ton code complet stp ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
Avant il y a ces deux fonctions javascript :
Voila la gestion du panier :
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 function plusmoins(quantite,type) { var qte = document.forms['Formpanier'].elements[quantite] if (type==2) qte.value = parseInt(qte.value) + 1 if (type==1 && parseInt(qte.value)>0) qte.value = parseInt(qte.value) - 1 if (parseInt(qte.value) >= 0) document.forms['Formpanier'].submit() } function pasdenegatif(){ if ((document.getElementById('quant').value)<0){ alert ('Vous ne pouvez pas mettre de quantité négative.'); return false; } return true; }
Ensuite pour l'affichage j'ai 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 <? session_start(); if(array_key_exists('action', $_GET)){ $actionpanier=$_GET['action']; //Selection de l'ID du produit if(isset($_POST['indice'])) { $indicemax=$_POST['indice'] - 1; for ($ip = 1; $ip <= $indicemax; $ip++) { $numid='idart_'.$ip; $idproduit=$_POST[$numid]; $num='QTE_'.$ip; if ($_SESSION['achats'][$idproduit] != $_POST[$num]) { $_SESSION['achats'][$idproduit] = $_POST[$num]; } } } else $idproduit=$_GET['idpdt']; //Supprimer une ligne if ($actionpanier=='supprligne'){ $idproduit=$_GET['idsuppr']; unset($_SESSION['achats'][$idproduit]); } //Vider le panier if ($actionpanier=='vider') unset($_SESSION['achats']); //Modification de la quantité if($_SESSION['verif_value'] == $_GET['verif_value']){ //Permet de ne pas réaliser a nouveau une action quand on actualise //Ajouter un article a partir du catalogue ou de la fiche produit if ($actionpanier == 'AJOUT'){ $idproduit = $_GET['id']; if (!isset($_SESSION['achats'][$idproduit])) { $_SESSION['achats'][$idproduit] = 0; } $_SESSION['achats'][$idproduit]++; } //Saisie de la quantité $_SESSION['verif_value'] = rand(1,1000000); //Choix alétoire d'une valeur pour gérer problème de l'actualisation } ?> <script> window.location.replace('index2.php?panier=1.php'); </script> <? } ?>
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 <form name="Formpanier" method="POST" action="index2.php?panier=1&action=1&idpdt=<? echo $cat['IDARTICLE'];?>" onsubmit='return pasdenegatif();'> <table width="95%" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#0099FF"> <tr> <td> <table width="100%" border="0" align="center" cellpadding="3" cellspacing="1" class="texte"> <tr bgcolor="#B3DCFD" class="texte3"> <td align="center" height="30"><b>Photos</b></td> <td align="center" height="30"><b>Réf.</a></b></td> <td align="center" height="30"><b>Marque</b></td> <td align="center" height="30"><b>Désignation</b></td> <td align="center" height="30" width="80"><b>Prix Unitaire</b></td> <td align="center" height="30"><b>Quantité</b></td> <td align="center" height="30"><b>Montant Total</b></td> <td align="center" height="30" width="135"> </td> <td align="center" height="30" width="135"><b>Actualiser</b></td> </tr> <? $i=0; $total=0; $articletotal=0; if (!$_SESSION['achats']){ ?> <tr bgcolor="#FFFFFF"> <td colspan="9" align="center"> <b> <br> VOTRE PANIER NE CONTIENT AUCUN ARTICLE <br><br> </b> </td> </tr> <? } else { $indice=1; foreach($_SESSION['achats'] as $idart => $qte) { $idarticle=$idart; $qtearticle=$qte; $query=("SELECT * FROM ARTICLE WHERE IDARTICLE='$idarticle'"); $result=mysql_query($query); while($cat = mysql_fetch_array($result)){ if ($i%2==0){ $couleurfond='#FFFFFF'; } else $couleurfond='#F3F3F3'; ?> <tr bgcolor="<? echo $couleurfond;?>"> <td align="center"> <? $chaine=$cat['Photo']; $adrphoto=str_replace("\\", "/", $chaine); $findme='/'; $pos=strrpos($adrphoto, $findme); $tailleadrphoto=strlen($adrphoto); $nomimage=substr($adrphoto, $pos+1); ?> <img src="imagesproduit/produit/<? echo $nomimage;?>" width="40" height="40"> </td> <td align="center"> <? echo $cat['CodeArticle'];?> </td> <td align="center"> <? echo $cat['Marque'];?> </td> <td align="left"> <b><? echo $cat['Designation'];?></b><br> <? echo stripslashes($cat['Notes']);?> </td> <td align="center"> <font color="#0000CC"> <b> <? RecupPrix($_SESSION['CodeEts'],$cat['CodeArticle'],$cat['CodeFamille']); if ($prixR==0){ echo '-'; $prixcorr=0; } else{ $prixcorr = number_format($prixR,2, ',', ' '); echo $prixcorr.' TTC'; } ?> </b> </font> </td> <td align="center"> <table align="center" class="texte"> <tr> <td rowspan="2" align="right"> <input type="text" name="QTE_<? echo $indice;?>" value="<? echo $qtearticle;?>" align="right" size="2" id="quant"> <input name="idart_<? echo $indice;?>" value="<? echo $cat['IDARTICLE'];?>" type="hidden"> </td> <td align="left" valign="bottom"> <a href="javascript:plusmoins('QTE_<? echo $indice;?>',2);"> <img src="images/boutonplus.gif" border="0"> </a> </td> </tr> <tr> <td align="left" valign="top"> <? if ($qtearticle > 1) {?> <a href="javascript:plusmoins('QTE_<? echo $indice;?>',1);"> <img src="images/boutonmoins.gif" border="0"> </a> <? } ?> </td> </tr> </table> </td> <td align="center"> <font color="#0000CC"> <b> <? $couttotarticle = $prixR * $qtearticle; $coutcorr = number_format($couttotarticle,2, ',', ' '); echo $coutcorr.' TTC'; $total += $couttotarticle; $articletotal += $qtearticle; ?> </b> </font> </td> <td align="center"><a href="index2.php?panier=1.php&action=supprligne&idsuppr=<? echo $cat['IDARTICLE'];?>" onclick="return confirm('Voulez vous réellement supprimer cette article de votre panier ?')">Supprimer</a></td> <td align="center"><a href="#" onclick="Formpanier.submit()"><img src="images/boutonok.gif" border="0"></a></td> </tr> <? } $i++; $indice++; } } ?> <tr bgcolor="#B3DCFD"> <td colspan="6" align="right"> <b>Total :</b><br>dont T.V.A : </td> <td align="center"> <b> <? $_SESSION['cout']=$total; $_SESSION['nbarticle']=$articletotal; $total = number_format($_SESSION['cout'],2, ',', ' '); echo $total; ?> €</b><br><? $tva = $_SESSION['cout']-($_SESSION['cout']/1.196); $tvacorr = number_format($tva,2, ',', ' '); echo $tvacorr; ?> € </td> <? if ($vide!=1){?> <td colspan="2"> </td> <? }?> </tr> <tr> <td colspan="9" align="center" bgcolor="#B3DCFD"> <? if ($vide<>1){ ?> <a href="index2.php?panier=1.php&action=vider" onclick="return confirm('Voulez vous réellement vider votre panier ?')">Vider le panier</a> <? } else{ echo ' '; } ?> <input name="indice" value="<? echo $indice;?>" type="hidden"> </td> </tr> </table> </td> </tr> </table> </form>
heu t'as pas le code html plutot que php ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
tu veux le code source de la page quand elle a été affichée ?
j'ai trouvé cette fonction permettant de savoir si un nombre est un entier superieur a zero :
mais je ne vois comment l'utiliser dans mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 function IsInteger(nbr){ return (!isNan(nbr)||(parseInt(nbr,10)<=0)); }
sinon j'ai un bouton qui a le code suivant pour valider la modication de la quantité d'un article avec le code suivant :
comment mettre en plus dans le onclick si c possible :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="#" onclick="Formpanier.submit()"><img src="images/boutonok.gif" border="0">
Code : Sélectionner tout - Visualiser dans une fenêtre à part return pasdenegatif();
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 <script type='text/javascript'> function pasdenegatif(){ return (!isNan(nbr)||(parseInt(nbr,10)<=0)); } </script> </head> <body> <form action="javascript:alert('ok')" onsubmit='return pasdenegatif()' > <input type='text' id='monchamps' /> <input type='submit' value="envoyer" /> </form> </body> </html>
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
je vois pas comment modifier le action de mon formulaire qui est comme ca :
je suis "obligé" de l'appeler comme ca pour qu'il charge le panier
Code : Sélectionner tout - Visualiser dans une fenêtre à part action="index2.php?panier=1&action=1&idpdt=<? echo $cat['IDARTICLE'];?>"
ce n'est pas l'action qu'il faut modifier mais le onsubmit ...
Ma page Developpez - Mon Blog Developpez
Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
Votre post est résolu ? Alors n'oubliez pas le Tag
Venez sur le Chat de Développez !
pardon j'avais pas mis tout, voila :
ca ne fonctionne pas dans tous les cas :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <form name="Formpanier" method="POST" action="index2.php?panier=1&action=1&idpdt=<? echo $cat['IDARTICLE'];?>" onsubmit='return pasdenegatif();'>
ca ne marche que quand il y a qu'une ligne dans le panier et si la valeur est saisie directment
si par exemple je met -10 et qu'ensuite je fais plus ou moins ca ne fait rien
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager