Formulaire / champ obligatoire

Résolu/Fermé
minimouse - 9 mars 2007 à 11:19
 skolem - 17 févr. 2014 à 14:31
Bonjour à tous,

je souhaite faire un formulaire avec Dreamweaver, ma question est simple:
comment faire en sorte pour que certains champs soient obligatoires ?


Merci d'avance pour vos réponses

10 réponses

txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 517
9 mars 2007 à 12:05
Salut a tous,
PHP: a déconseiller pour la simple raison que ça provoque des "allers/retours" entre le poste client et le serveur.
Utilise le javascript (il n'y a pas beaucoup de gens qui l'ont désactivé sur leur navigateur).
Ci-dessous, un modèle de script:
<!-- Controle de la saisie correcte des champs du formulaire
function verif() 
{ 
	var nom = document.formulaire.nom.value;
	if (document.formulaire.nom.value == "")
	{
		alert ('Veuillez entrer votre nom');
		document.formulaire.nom.focus();
		return false;
	}
	if(document.formulaire.prenom.value == "")
	{
		alert ('Veuillez entrer votre prénom');
		document.formulaire.prenom.focus();
		return false;
	}
	if(document.formulaire.telephone.value.length != 6)
	{ 
		alert ('Le n° de téléphone doit comporter 6 chiffres'); 
		document.formulaire.telephone.focus();
		return false; 
	}


Pour le téléphone tu n'a qu'a changer la valeur (le chiffre) et dans le message d'alerte aussi.
Ce script a en plus l'avantage de ne pas effacer les champs déjà renseignés (en cliquant OK de la fenetre d'alerte, le curseur est positionné automatiquement sur le champ a renseigner.
13
Je te remercie txiki pour ta réponse : donc si j'ai bien compris, je place le script dans <head> et dans le <body>, je mets en place mon formulaire, mais comment faire la "corélation" entre
{
var nom = document.formulaire.nom.value;
if (document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre nom');
document.formulaire.nom.focus();
return false;
}
et le champ du formulaire <input name="nom" type="text">
nom
0
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 517
9 mars 2007 à 18:42
Bon !
voici un exemple de fichier javascript a enregistrer tel quel mais en l'adaptant a ton cas:
<!-- Vérification des champs obligatoires du formulaire
function verif() 
{ 
	var nom = document.formulaire.groupe.value;
	if (document.formulaire.groupe.value == "")
	{
		alert ('Veuillez entrer le groupe');
		document.formulaire.groupe.focus();
		return false;
	}
	if(document.formulaire.categorie.value == "")
	{
		alert ('Veuillez entrer la catégorie du logiciel');
		document.formulaire.categorie.focus();
		return false;
	}
	if(document.formulaire.nom.value == "")
	{
		alert ('Veuillez entrer le nom du logiciel');
		document.formulaire.nom.focus();
		return false;
	}
	if(document.formulaire.reference_DSI.value == "")
	{
		alert ('Veuillez entrer la référence DSI');
		document.formulaire.reference_DSI.focus();
		return false;
	}
	if(document.formulaire.reference_DSI.value.length != 3)
	{ 
		alert ('La référence doit comporter trois caractères'); 
		document.formulaire.reference_DSI.focus();
		return false; 
	}
	else {return true;}
}
//-->

document.formulaireformulaire est le nom du formulaire (si le tiens porte un nom différent, faudra le changer ici aussi et a toutes les lignes.
document.formulaire.groupe.groupe est le nom du champ (name) très important le name.
tu l'enregistre en .js dans un dossier "scripts" par exemple.
Ensuite, dans le head, tu mettra l'appel a ce script comme ceci:
<script language="javascript" src="scripts/mon_fichier.js" type="text/javascript"></script>
Pour finir, dans le bouton Valider, Envoyer ou comme tu l'aura appelé, tu met ceci:
<input type="submit" name="submit" value="Valider" onClick="javascript: return verif();">

javascript: return verif(); veut dire que si le visiteur n'a pas rempli correctement le formulaire ça lui ouvrira une fenetre lui expliquant ce qui manque (en gros ce que tu aura mis dans: alert ('Veuillez entrer la référence DSI'); ou ce que tu veux.
A toi de personnaliser les messages a afficher.
En plus, ça pointera directement à l'endroit où ça n'est pas renseigné (le curseur clignotera en attendant qu'on frappe quelque chose).

Je ne suis pas un spécialiste en javascript mais si tu a des soucis, n'hésite pas !
Cette façon de créer un fichier séparé (mon_fichier.js) t'évitera d'avoir a l'écrire sur toutes tes pages. Le lien script language dans le head ira chercher le fichier pour le lire.

Bon courage !
0
amid100 > txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024
7 avril 2008 à 23:00
salut,
J'ai trouvé ton explication sur le forum et j'ai trouvé très compréhensible, j'ai essayé d'adapter à mon cas, mais apparemment j'ai encore des soucis, ça ne marche pas, je l'envoi mon code. Si tu as un moment, un peu de patience et si ça ne te pose pas de problème, je serais franchement ravie de ton aide.

Bonne soirée
Amid

1.- LE FORMULAIRE

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Page formulaire HTML</title>
<script language="javascript" src="scripts/return verif.js" type="text/javascript" function "verif()"></script>

</head>
<body>

<form id="document.formulaire" name="document.formulaire" method="post" >

<label>Titre du film</label>
<input type="text" name="titre" id="idTitre" /><br/>

<label>Année</label>
<input type="text" name="annee" id="idAnnee" maxlength="4" />
<br/>

<label>Nom</label>
<input type="text" name="nom" id="idNom" /><br/>

<label>Prénom</label>
<input type="text" name="prenom" id="idprenom" /><br/>

<input type="button" value="valider" onClick="javascript: verif()"/>
</form>

</body>
</html>

2) LE PROGRAMME JS POUR SUIVRE TES CONSEILS.

<%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage="" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>FICHIER RETURN VERIF.JS</title>
<script language="javascript" type="text/javascript" >
<!-- Vérification des champs obligatoires du formulaire

function verif()
{
var nom = document.formulaire.titre.value;
if (document.formulaire.titre.value == "")
{
alert ('Veuillez entrer le Titre du film');
document.formulaire.titre.focus();
return false;
}
if(document.formulaire.annee.value == "")
{
alert ('Veuillez entrer l'année');
document.formulaire.annee.focus();
return false;
}
if(document.formulaire.annee.value.length != 4)
{
alert ('L'année doit comporter 4 chiffres');
document.formulaire.annee.focus();
return false;
if(document.formulaire.nom.value == "")
{
alert ('Veuillez entrer votre nom');
document.formulaire.nom.focus();
return false;

}
if(document.formulaire.prenom.value == "")
{
alert ('Veuillez entrer votre prénom');
document.formulaire.prenom.focus();
return false;
}

else {return true;}
}
//-->
</script>
</head>
<body>
</body>
</html>
0
stefde10 Messages postés 100 Date d'inscription jeudi 5 avril 2007 Statut Membre Dernière intervention 13 janvier 2014 11 > txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024
4 sept. 2008 à 23:47
Bonjour,

tu as l'air calé dans le domaine du PHP et c'est pourquoi je m'en retourne vers toi.

Pourrai-tu me dire comment on peut mettre une image à la place du rectangle blanc d'un champ de tetx pour un Login pour un site.

Voici l'image que j'aimerai placer pour ce champs de connexion :

https://i39.servimg.com/u/f39/11/39/67/05/login210.jpg

peux-tu m'aider stp ?

D'avance merci pour ta réponse rapide ;)
0
lu c'est faux
0
voici un formulaire fait pour un de mes clients la verification fonctionne parfaitement





<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulaire de contact</title>

//---------------------------------------------------------------------------------------------------------------
//------------------------------script d'erreurs et retour fenetre------------------------------------
//--------------------------------------------------------------------------------------------------------------

<script type="text/javascript">
<!--
function MM_validateForm() { //v4.0
if (document.getElementById){
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=document.getElementById(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' doit contenir une adresse email valide.\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' est requis.\n'; }
} if (errors) alert('Les erreurs suivantes doivent etre corrigées:\n'+errors);
document.MM_returnValue = (errors == '');
} }
//-->
</script>
</head>


<style type="text/css">
<!--
.Style1 {color: #FF0000}
.Style5 {color: #FF0000;font-size: 16px;}
-->
</style>
<body>

//-----------------------------------------------------------------------------------------------------------------------------
//-declaration du formulaire type post avec la verification des champs sur la fonction onsubmit
//------------------------- apres verification la page en .PHP-----------------------------------------------------
//----------dans le cas present ,verif nom prenom adresse mail et telephone--------------------------
//-----------------------------------------------------------------------------------------------------------------------------

<form action="./includes/client.php" method="post" enctype="multipart/form-data" name="formulaire" onsubmit="MM_validateForm('nom','','R','prenom','','R','courriel','','RisEmail','telephone','','R','adresse','','R');return document.MM_returnValue">
<strong>Informations Personnelles :</strong>
<p>
Statut
<label> :<br />
<input name="radio" type="radio" value="particulier" checked="checked">
Particulier</label>
<label>
<input type="radio" name="radio" value="entreprise">
Entreprise</label>
<label>
<input type="radio" name="radio" value="association">
Association</label>
<br />
Nom :<br/>
<input name="nom" type="text" id="nom" length=30>
<span class="Style1">*</span><br/>
Prénom :<br/>
<input name="pren" type="text" id="prenom" length=30>
<span class="Style1">*</span><br/>
Courriel (Mail) :<br/>
<input name="email" type="text" id="courriel" length=30>
<span class="Style1">*</span><br/>
Adresse : <br/>
<textarea name="adr" id="adresse" rows="3" cols="50"></textarea>
<span class="Style1">*</span><br/>
Téléphone :<br/>
<input name="tel" type="text" id="telephone" length=30>
<span class="Style1">*</span><br/>
Portable (optionnel) :<br/>
<input type="text" name="port" length=30>

<p><strong>Votre ordinateur et votre(vos) problème(s) :</strong></p>
Type d'ordinateur et système d'exploitation<br/>
<select name="ordi" id="select">
<option value="bureau">Ordinateur de bureau (fixe)</option>
<option value="portable">Ordinateur portable</option>
</select>
<select name="os" size="1" id="select2">
<option value="win95 98">Microsoft Windows 95/98</option>
<option value="win 2000 me">Microsoft Windows 2000/ME</option>
<option value="win xp">Microsoft Windows XP</option>
<option value="win vista">Microsoft Windows vista</option>
<option value="alinux">Autres / Linux</option>
</select><br>

Message :<br/>
<textarea name="message" rows="5" cols="50"></textarea>
<br/>
<br/>
<input name="valider" type="submit" />
Attention, les champs marqués par <span class="Style5">*</span> sont à remplir obligatoirement
<br/>

</form>
</body>
2
ça peut fonctionner si on ne mets pas le @, mais si on termine pas par le point par ex: si on met test@test ça ne produit pas d'erreur pourtant cette adresse n'est pas valide. comment tu fais pour gérer cette erreur.
0
Bonjour,
Ton script détecte correctement ce qu'il doit mais le formulaire s'execute malgré tout (chez moi en tout cas). Comment faire pour bloquer l'envoit du formulaire.
0
oXyde68 Messages postés 747 Date d'inscription dimanche 20 novembre 2005 Statut Membre Dernière intervention 11 juin 2024 339
9 mars 2007 à 11:22
Bonjour ,

Pour qu'un champ de ton formulaire soit obligatoire tu peux utiliser du Javascript ou du PHP.

Personellement je ne m'y connais pas en Javascript , plus en PHP.

En PHP , il suffit après avoir envoyé le formulaire , de faire un test avec IF et la variable du champ récupérer avec GET ou POST.

voila
@+
1
lolo47480 Messages postés 1 Date d'inscription mardi 5 janvier 2010 Statut Membre Dernière intervention 5 janvier 2010 1
5 janv. 2010 à 19:32
Bonjour je viens à vous pour une grosse aide car je nage un peu la.
Voilà j'ai crée un formulaire qui marche bien mais le problème c'est qu'une personne peut envoyer un message sans y n'avoir rien rempli.
Donc s'il vous plait aider moi à trouver la solution pour remédier à tous cela et au mieux du mieux avoir le même système que lors de l'inscription sur ce site c-a-d avoir une image validation, mais ce n'est pas le plus important pour l'instant.
Pour vous aider voici mon code en HTML :
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>

<!-- /*************************************************************** * Copyright MatchWare A/S * * (do not remove comment - serves as DOM compat dropback @ IE) * ****************************************************************/ -->
<title>contact</title>


<meta content="MatchWare Mediator 9.0" name="GENERATOR">

<meta content="text/html; charset=UTF-8" http-equiv="Content-Type">

<meta content="" name="description">

<meta content="" name="keywords">

<link type="text/css" href="styles_center.css" rel="stylesheet">

<link type="image/x-icon" href="favicon.ico" rel="shortcut icon">

<link href="contact.html" rel="Next">

<script type="text/javascript" language="javascript" src="md8_history.js"></script>
<script type="text/javascript" language="javascript" src="md8_design.js"></script>
<script type="text/javascript" language="javascript" src="md8lib.js"></script>
<script type="text/javascript" language="javaScript">
var first_page = 'contact.html';
var alignment = 'center';
</script>
</head>


<body style="background-image: url(../fondgif.gif);">

<div style="text-align: left; margin-left: 2px; width: auto; font-family: Adobe Garamond Pro; font-weight: bold;">
<div style="width: auto; margin-left: 40px;"><a target="_top" href="http://www.laroutedesrestaurants.com"><big><big>ACCUEIL</big></big></a><br>

</div>

<div style="text-align: center;"><big style="color: rgb(153, 51, 153);"><big><big>CONTACT</big></big></big></div>

</div>

<div style="text-align: center;">
<form style="width: auto;" method="post" action="formmail.php">
<table style="background-color: rgb(253, 232, 249); text-align: left; margin-left: auto; margin-right: auto; height: 371px; width: 398px;">

<caption style="font-family: Adobe Caslon Pro Bold;"> <br>

</caption> <tbody>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; text-align: left; font-family: Adobe Caslon Pro;"><big>Nom
Restaurant:</big></td>

<td style="width: 191px;"><input name="restaurant" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; font-family: Adobe Caslon Pro;"><big>Votre
Nom:</big></td>

<td style="width: 191px;"><input name="nom" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; font-family: Adobe Caslon Pro;"><big>Ville:</big></td>

<td style="width: 191px;"><input name="ville" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; font-family: Adobe Caslon Pro;"><big>Code
postal:</big></td>

<td style="width: 191px;"><input name="code postal" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; font-family: Adobe Caslon Pro;"><big>Votre
Email:</big></td>

<td style="width: 191px;"><input name="email" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro Bold;">

<td style="width: 156px; font-family: Adobe Caslon Pro;"><big>Sujet:</big></td>

<td style="width: 191px;"><input name="title" size="30" type="text"></td>

</tr>

<tr style="font-family: Adobe Caslon Pro;">

<td style="width: 191px;" colspan="2">
<div style="text-align: left;"><big>Commentaires:</big><br>

</div>

<textarea cols="50" rows="6" name="comments"></textarea>
</td>

</tr>

</tbody>
</table>

<br>

<input value="Envoyer" type="submit"> - <input value="Annuler" type="reset"></form>

</div>

</body>
</html>


Et voici mon code PHP:
<?php
$TO = "contact@laroutedesrestaurants.com";

$h = "From: " . $TO;

$message = "";

while (list($key, $val) = each($HTTP_POST_VARS)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://remerciements.laroutedesrestaurants.com/#page1.html" );

?>

Un grand merci d'avance à tous ceux qui veulent bien me venir en aide.
1

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

Posez votre question
Tu met required à la fin:
<input type="text" name="Prenom" required />
1

Est-ce que quelqu'un pourrait me trouver un formulaire déjà bati...
J'ai besoin d'un formulaire de contact que je désire mettre sur mon blog
http://fripouille2423.blogspot.com
J'ai essayer a plusieurs reprise mais j'arrive toujours a la même place ,
quand je l'essaie sa me dit que ceci permettera au destinataire de connaitre leur email
et qu'il sera envoyer sans chiffrement... alors je clique ok
puis une fenetre me dit que si ceci est imprévu il peut p-ê s'agir d'un virus
et lorsque je clique oui pour l'envoyer quand même je ne recoit rien!
-1
laki Messages postés 17 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 10 avril 2008 1
7 avril 2008 à 23:41
if(isset($_POST["utilisateur"]) and isset($_POST["mot_passe"])and isset($_POST["nom"])and isset($_POST["prenom"])and isset($_POST["age"])and isset($_POST["email"])and isset($_POST["message"])){
verification que le login et le mot de passe ne sont pas vides
if(empty($_POST["utilisateur"]) or empty($_POST["mot_passe"]))
{$etat=1;quitter($etat);}
//verification que le nom et le prénom ne sont pas vides
if(empty($_POST["nom"]) or empty($_POST["prenom"]))
{$etat=2; quitter($etat);}
//verification de l'email



if (!eregi("^[a-z]+(\.[_a-z0-9-]+)*@[a-z0-9]+(\.[a-z0-9-]+)+$",$_POST["email"]))</gras>{$etat=3;quitter($etat);}
//enregistrement des données
$login=$_POST["utilisateur"];
$mot_passe=md5($_POST["mot_passe"]);
$nom=$_POST["nom"];
$prenom=$_POST["prenom"];
$age=$_POST["age"];
$email=$_POST["email"];
$message=$_POST["message"];
$resultat = mysql_query("INSERT INTO laki (nomUtilisateur,motPasse,nom,prenom,age,email,message) VALUES('$login','$mot_passe','$nom','$prenom','$age','$email','$message')");
if($resultat)
echo("<p><font color=red> <center><b>Inscription reussite</b></center></font></p>");
else
echo("<p><font color=red> <center><b>Inscription echouée</b></center></font></p>");
echo "<br>";
mysql_close();
//fonction quitter()
function quitter($etat)
{
include("inscription.php");
switch($etat) {
case 1:echo"<p><font color=red> <center><b>Login ou Mot de passe vide.</b<</center></font></p>";break;
case 2:echo "<p><font color=red> <center><b>Nom ou Prénom vide.</b<</center></font></p>"; break;
case 3:echo "<p><font color=red> <center><b>Email invalide.</b<</center></font></p>";}
exit;
}
?>
-1
Bonjour,

Je cherche comment detecter une fausse adresse mail sur le champs "email" de mon formulaire.
par exemple une adresse sans @!
-2
laki Messages postés 17 Date d'inscription lundi 7 avril 2008 Statut Membre Dernière intervention 10 avril 2008 1
7 avril 2008 à 23:47
dit moi est ce que le clendrier ça marche moi j'ai le meme problem de ce exmple
-2
ok, moi pas comprendre.
0
test
-4
merci pour le site http://www.jeux90.com/
0