Controle de formulaire
abdoul
-
kij_82 Messages postés 4260 Statut Contributeur -
kij_82 Messages postés 4260 Statut Contributeur -
Bonsoir, j'ai créé un formulaire et j'ai un ajouté un code javascript pour verifier que tous les champs soient remplis, malheureusement il ne marche pas c'est à dire qd je ne remplis pa certain champ plutot que de me metter un message il enregistre dans la base de donnée.
Si vous pouviez jeter un oeil sur mon code et me dire ce qui ne va pas ça serait bien.
Merci!
<?php
include("config.php");
include("req_buttons.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<script language="JavaScript">
function couleur(obj){
obj.style.backgroundColor="#FFFFFF";
}
function check() {
var msg = "";
if (document.form.scte.value=="") {
msg+="Veuillez saisir le nom de la societe.\n";
document.for.nom.style.backgroundColor="#F3C200";
}
if (document.form.adrs.value==""){
msg+="Veuillez saisir l'adresse de la societe\n";
document.form.nom.style.backgroundColor="#F3c200";
}
if (document.form.tel.value==""){
msg+="Veuillez saisir le N° de telephone de la societe\n";
document.form.tel.style.backgroundColor="#F3c200";
}
if (document.form.fax.value==""){
msg+="Veuillez saisir le N° du fax de la societe\n";
document.form.fax.style.backgroundColor="#F3c200";
}
if (msg=="") return(true);
else {
alert(msg);
return(false);
}
}
</script>
</head>
<body>
<div align="center" class="Style1">ENREGISTREMENT D'UN NOUVEAU CLIENT <img src="../../date/users.gif" ></div>
<p><table width="361" border="2" align="center" bordercolor="#0066FF" background="../../wallpaper-prince-of-persia-warrior-within-10-1600.jpg">
<tr>
<td width="349"><form name="form1" method="post" action="addclient1.php" onsubmit="return check();">
<table width="346" border="0">
<tr>
<td width="161"><div align="center"><span class="Style5">Nom société : </span></div></td>
<td width="175"><label>
<input type="text" name="scte" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Adresse :</em></div></td>
<td><label>
<textarea name="adrs" onkeyup="javascript:couleur(this);"></textarea>
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Téléphone </em>: </div></td>
<td><label>
<input type="text" name="tel" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Fax : </em></div></td>
<td><label>
<input type="text" name="fax" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td colspan="2"><label><div align="center">
<?php buttons("insert");?></div>
</label> </td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
if (isset($_POST['insert'])){
$nomscte=$_POST['scte'];
$adrsgeo=$_POST['adrs'];
$tel=$_POST['tel'];
$fax=$_POST['fax'];
$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'",'.time().');';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error());
}
?>
</body>
</html>
Si vous pouviez jeter un oeil sur mon code et me dire ce qui ne va pas ça serait bien.
Merci!
<?php
include("config.php");
include("req_buttons.php");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
<script language="JavaScript">
function couleur(obj){
obj.style.backgroundColor="#FFFFFF";
}
function check() {
var msg = "";
if (document.form.scte.value=="") {
msg+="Veuillez saisir le nom de la societe.\n";
document.for.nom.style.backgroundColor="#F3C200";
}
if (document.form.adrs.value==""){
msg+="Veuillez saisir l'adresse de la societe\n";
document.form.nom.style.backgroundColor="#F3c200";
}
if (document.form.tel.value==""){
msg+="Veuillez saisir le N° de telephone de la societe\n";
document.form.tel.style.backgroundColor="#F3c200";
}
if (document.form.fax.value==""){
msg+="Veuillez saisir le N° du fax de la societe\n";
document.form.fax.style.backgroundColor="#F3c200";
}
if (msg=="") return(true);
else {
alert(msg);
return(false);
}
}
</script>
</head>
<body>
<div align="center" class="Style1">ENREGISTREMENT D'UN NOUVEAU CLIENT <img src="../../date/users.gif" ></div>
<p><table width="361" border="2" align="center" bordercolor="#0066FF" background="../../wallpaper-prince-of-persia-warrior-within-10-1600.jpg">
<tr>
<td width="349"><form name="form1" method="post" action="addclient1.php" onsubmit="return check();">
<table width="346" border="0">
<tr>
<td width="161"><div align="center"><span class="Style5">Nom société : </span></div></td>
<td width="175"><label>
<input type="text" name="scte" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Adresse :</em></div></td>
<td><label>
<textarea name="adrs" onkeyup="javascript:couleur(this);"></textarea>
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Téléphone </em>: </div></td>
<td><label>
<input type="text" name="tel" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td class="Style3"><div align="center"><em>Fax : </em></div></td>
<td><label>
<input type="text" name="fax" onkeyup="javascript:couleur(this);">
</label></td>
</tr>
<tr>
<td colspan="2"><label><div align="center">
<?php buttons("insert");?></div>
</label> </td>
</tr>
</table>
</form>
</td>
</tr>
</table>
<?php
if (isset($_POST['insert'])){
$nomscte=$_POST['scte'];
$adrsgeo=$_POST['adrs'];
$tel=$_POST['tel'];
$fax=$_POST['fax'];
$sql='INSERT INTO `amd`.`societe` (`codescte` ,`nomscte` ,`adrsgeo` ,`tel`,`fax`,`dtescte`)
VALUES ("" , "'.$nomscte.'","'.$adrsgeo.'","'.$tel.'","'.$fax.'",'.time().');';
mysql_query($sql) or die ('Erreur SQL!'.$sql.'<br />'.mysql_error());
}
?>
</body>
</html>
A voir également:
- Controle de formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Fan controle - Télécharger - Optimisation
- Formulaire de reclamation instagram - Guide
- Controle parental disney plus - Guide
3 réponses
Bonjour,
Dans un premier temps, dans ta fonction javascript je serai toi je mettrais des if (... ) ... else if (...) ... else if au lieu de simple if (..) ...
Ca permettra de n'avoir qu'un seul message d'erreur à chaque fois si tu as plusieurs champs non remplis, plutot que plusieurs message d'erreurs qui ne semble pas être concaténé correctement (du moins ce sera pas vraiment lisible dans ta box, fais l'essai)
Ensuite, pour ce qui est des champs qui ne sont pas checkés, je te conseille de faire d'une autre manière.
Plutôt que d'invoquer ta fonction de controle dans le "onsubmit" de ton formulaire, je l'invoquerais sur le "onclick" d'un bouton (input de type "button") et de ne pas mettre de bouton de type "submit" dans ton formulaire.
Ainsi, dans ta fonction, au lieu de retourner "true" ou "false" dans le cas ou tu as ou n'as pas de message d'erreur, tu devra déclencher le submit de ton formulaire via :
Dans un premier temps, dans ta fonction javascript je serai toi je mettrais des if (... ) ... else if (...) ... else if au lieu de simple if (..) ...
Ca permettra de n'avoir qu'un seul message d'erreur à chaque fois si tu as plusieurs champs non remplis, plutot que plusieurs message d'erreurs qui ne semble pas être concaténé correctement (du moins ce sera pas vraiment lisible dans ta box, fais l'essai)
Ensuite, pour ce qui est des champs qui ne sont pas checkés, je te conseille de faire d'une autre manière.
Plutôt que d'invoquer ta fonction de controle dans le "onsubmit" de ton formulaire, je l'invoquerais sur le "onclick" d'un bouton (input de type "button") et de ne pas mettre de bouton de type "submit" dans ton formulaire.
Ainsi, dans ta fonction, au lieu de retourner "true" ou "false" dans le cas ou tu as ou n'as pas de message d'erreur, tu devra déclencher le submit de ton formulaire via :
document.forms["form1"].submit();
bonsoir merci pour la reponse mais je bloque encore un peu
où est ce que je dois placer : document.forms["form1"].submit();
Merci
où est ce que je dois placer : document.forms["form1"].submit();
Merci
Re,
Le code de ta fonction javascript :
Ta ligne de code concernant ton formulaire (suppression de la partie 'onsubmit') :
Et dans ton formulaire tu ajoute un bouton comme ceci :
Le code de ta fonction javascript :
function check() {
var msg = "";
if (document.form.scte.value=="") {
msg+="Veuillez saisir le nom de la societe.\n";
document.for.nom.style.backgroundColor="#F3C200";
} else if (document.form.adrs.value==""){
msg+="Veuillez saisir l'adresse de la societe\n";
document.form.nom.style.backgroundColor="#F3c200";
} else if (document.form.tel.value==""){
msg+="Veuillez saisir le N° de telephone de la societe\n";
document.form.tel.style.backgroundColor="#F3c200";
} else if (document.form.fax.value==""){
msg+="Veuillez saisir le N° du fax de la societe\n";
document.form.fax.style.backgroundColor="#F3c200";
}
if (msg=="")
document.forms["form1"].submit();
else {
alert(msg);
}
}
Ta ligne de code concernant ton formulaire (suppression de la partie 'onsubmit') :
<form name="form1" method="post" action="addclient1.php" >
Et dans ton formulaire tu ajoute un bouton comme ceci :
<input type='button' value='confirmer' onclick='check()'/>