Probleme fonction verification formulaire

Résolu
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011 - 23 juil. 2009 à 09:43
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011 - 23 juil. 2009 à 11:38
Bonjour à tous.

Je me tourne vers vous car je ne trouve pas la solution a mon probleme. Je pense que c'est juste une betise que je n'arrive pas à voir, mais là je commence a voir trouble ..
voila, j'ai un formulaire qui enregistre un code et d'autres champs dans une base de donnée. Avant de l'envoyer je fais une verification sur un champ mais quelque soit le resultat de cette verification le script d'ecriture dans la base s'execute.

voici la fonction :
function verif() {
test=isNaN(document.formulaire.qte.value);
if (test==true)
{ alert("La quantité doit etre un chiffre.");
document.formulaire.qte.value.focus();
return false;
}
else {return true;}
}

et dans le formulaire : <form method="post" name="formulaire" onSubmit="return verif();">


merci d'avance.

16 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 10:21
Bonjour,
bah... et les champs du formulaire ? le submit ?....
oublie aussi de l'action dans le form ?
ou alors... il manque un return false

<script>
function verif() 
{	if (isNaN(document.formulaire.qte.value))
{ 	alert("La quantité doit etre un chiffre.");
document.formulaire.qte.value.focus();
return false;
}
return true;
}
</script>
<form method="post" 
action="javascript:alert('ok');" 
name="formulaire" 
onSubmit="return (verif());">


</form>


Cordialement [mon Site] [M'écrire] Bul
3
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 10:25
ah ben je les avais pas mis parce que je pensais que la faille venait juste de la fonction.

voila le code complet alors

<html>
<head>
<title>Fournitures</title>
<!--#include file = "connect.asp"-->
<script type="text/javascript" src="stmenu.js"></script>
<link rel="stylesheet" type="text/css" href="style.css">
<script language="javascript">
var ini
function sf() {document.formulaire.nv_code.focus();}
function cpter() {
if (document.formulaire.nv_code.value.length==2)
{ ini=document.formulaire.nv_code.value;
affichage();
}
}
function affichage() {
if (ini!="FI")
{ document.getElementById("qte").style.display="inline";
document.getElementById("unite").style.display="inline";
document.getElementById("titre1").style.display="inline";
document.getElementById("titre2").style.display="inline";
}
}
function verif() {
test=isNaN(document.formulaire.qte.value);
if (test==true)
{ alert("La quantité doit etre un chiffre.");
document.formulaire.qte.value.focus();
return false;
}
else {return true;}
}
</script>
</head>


<!--#include file="menu.inc"-->



Création code

<form method="post" name="formulaire" onSubmit="return verif();">
Code |Libellé |Quantité |Unité (O/N) |
----

,
,
,




</form>


<%
if request.form("sub") ="Créer" then
nv_code=request.form("nv_code")
libelle=request.form("libelle")
qte=request.form("qte")
unit=request.form("unite")

if left(nv_code,2)="FI" then
typ="info"
else
typ="fourn"
end if

sql_verif="select code from "&typ&" ;"
set rs_verif=conn.execute(sql_verif)
x=0
do while not rs_verif.eof
if rs_verif("code")=nv_code then
x=1
end if
rs_verif.movenext
loop
if x=1 then %>
<script language="javascript">
alert("Ce code existe déjà.");
window.location="crea_code.asp";
</script>
<% else
nv_code=ucase(nv_code)
libelle=ucase(libelle)
unit=ucase(unit)
if typ="fourn" then
sql_cre="insert into fourn (code,libelle,quantite,unite) values ('"&nv_code&"','"&libelle&"','"&qte&"','"&unit&"') ;"
else
sql_cre="insert into info (code,libelle) values ('"&nv_code&"','"&libelle&"') ;"
end if
conn.execute(sql_cre)
%>
<script language="javascript">
alert("Le code <%=nv_code%> a été créé.");
</script>
<%
end if 'verif'
end if 'creer'
%>

</html>
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 10:26
remarque : un champ vide est accepté.
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 10:28
oui, le champ n'est pas forcement renseigné, mais s'il l'est doit etre numerique
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 10:29
ah ben, le code complet maintenant...
certes mais avec de l'ASP ????
comment on devine ce que ça génère ?
déjà, on n'a pas ta base de donnée !!!!

regarde l'exemple fait,
adapte,
si ça ne fonctionne pas fais nous l'extrait
du nécessaire ! tout le nécessaire, mais
rien que le nécessaire ! et pas l'asp,
la page html résultante !!
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 10:34
un formulaire ça charge une page,
celle donnée dans l'action du formulaire
ici, tu ne met rien, donc ça rechargera
la même page
sauf si on met return false;
dans le onsubmit ou que la
fonction appelée retourne false
bien sût
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 10:40
ben la fonction est censée retourner un false si c'est pas numerique.

j'ai rajouté action="crea_code.asp" puisque le reste de l'action se deroule sur cette meme page apres le submit. (if request.form("sub")....) mais bon je pense pas que ca change quoi que ce soit de le mettre ou pas
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 10:43
>>ben la fonction est censée retourner un false
>>si c'est pas numerique.
et si c'est numérique ?
et tu as essayé mon exemple ? il fonctionne.
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 11:03
j'ai remplacé
test=isNaN(document.formulaire.qte.value);
if (test==true)

par ton
if (isNaN(document.formulaire.qte.value))

et du coup ca marche... franchement je comprends pas
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 11:17
il y a une erreur
que je n'ai pas rectifiée d'ailleurs !
document.formulaire.qte.value.focus(); // value en trop
du coup, return false n'est pas fait
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 11:23
non, ca je l'avais reperé, je l'ai corrigé mais ca changeait pas le pb
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 11:26
remarque je me souviens pas de la chronologie... peut etre que ca marchait et que j'ai pas testé entre temps apres cette correction.. que j'ai essayé avec ton "if" et que du coup ca marchait... enfin de toute facon ton IF est plus simple, je sais pas pourquoi je passe toujours par des etapes intermediaires... le manque d'habitude surement
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 11:32
j'ai remplacé
test=isNaN(document.formulaire.qte.value);
if (test==true)
par
if (isNaN(document.formulaire.qte.value))

ça ne pouvait pas venir de cela à priori.
il y avait un je ne sais quoi d'autre je ne sais où...
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 16
23 juil. 2009 à 11:34
handicapé nasal ( ou néanmoins ),
ne pas oublier que la page sera rechargée
( donc réinitialisée ) si la quantité est bonne.
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 11:35
Le principal c'est que ca fonctionne. je te remercie pour ton aide.

a la prochaine parce qu'il y en aura surement une
0
isu_san Messages postés 63 Date d'inscription lundi 6 septembre 2004 Statut Membre Dernière intervention 26 juillet 2011
23 juil. 2009 à 11:38
oui oui c'est de là que part la suite.

je teste le champ submit du formulaire

if request.form("sub")="Créer" then...

et a partir de là j'ecris dans la base les valeurs retournées par le request.form de chaque champ.
0
Rejoignez-nous