Bonjour à tous.
Je continue à parcourir un peu le language ASP.
Je tente d'inserer à l'aide d'un formulaire contenu dans ma page asp, des données dans une base access.
J'y arrive sans trop de problème, mon souci c'est que dès que je lance la page qui contient le formulaire, celui-ci essaye directement d'inserer les données dans la base.
Je voudrais que l'action d'insertion se déclanche uniquement lorsque je click sur mon bouton envoyer.
Sur quoi dois-je faire mes contrôles?.
J'ai fait une fonction javascript pour contrôler la validité de mon formulaire. Cette fonction est appelée grace au onsubmit de la balise <FORM>
Je pensais donc qu'il me suffirait de mettre dans ma fonction javascript le code asp nécésaire à la mise à jour de ma base et ceci lorsque le formulaire est valide.
Le problème c'est que le code aps est interprété même si je rentre pas dans ma fonction. (je suppose que c'est normal car dès que le navigateur vois les caractère <%, il interprète de toute façon le code)
Voici l'exemple de ma fonction.
function controle ()
{
if ((document.form1.nom.value.length == 0) || (document.form1.prenom.value.length == 0) || (document.form1.sexe.value.length == 0))
{
alert("Remplissez tous les champs obligatoire s.v.p")
}
else {
<%
Conn.Open
dim sqlmt
sqlmt = "INSERT INTO fiche ( nom ) values ('taaa')"
set oobj = server.CreateObject("ADODB.Recordset")
oobj.CursorLocation = 3
oobj.Open sqlmt, Conn, adOpenStatic, adLockPessimistic
conn.close%>
}
}
et l'appel de cette fonction dans mon formulaire.
<FORM name = "form1" method="post" onSubmit="controle()">
Voilà ou pourrait-je trouver une exemple? Comment dois-je faire mon test.
D'avance merci.
a+
Partager