Rendre obligatoire ce champ de formulaire ?

  • Auteur de la discussion Auteur de la discussion Anonymous
  • Date de début Date de début
A
Anonymous
Guest
Salut, j'ai un formulaire html classique :

Code:
<form method="post" action="upload.html" name="formulaire" onSubmit="show_loading();"> 

<input type="text" name="prenom" value="" id="prenom" onFocus="clearme();" />

<input type="text" name="email" value="" id="email" onFocus="clearme();" />

</form>


J'aimerais simplement rendre le champ "email" obligatoire svp.
Quel est la marche à suivre ? :)

merci d'avance. :)
 
WRInaute occasionnel
Soit avec du javascript qui vérifie que le champ n'est pas vide. Du coup, ce javascript doit être appelé à la validation du formulaire :
<form onSubmit="ma_fonction_js_verif_mail()" ...>

Soit du côté serveur, avec du PHP, du coup, ici tu dois appeler une page qui fera les différents contrôles.

Mais avant cela, je pense que si tu poses ce style de question, c'est que tu débutes vraiment en développement WEB, je te conseillerais donc de te tourner vers des tutoriaux de d'apprentissage et développement PHP car c'est l'une des premières choses que tu verras et cela te sera fortement utile avant d'aller plus loin. :wink:
 
WRInaute passionné
Dans ta fonction show_loading() tu ajoutes au début :

if (document.formulaire.email.value=="")
{
document.formulaire.email.focus();
alert ("L'email est obligatoire!");
return false;
}

Habituellement, on fait des vérifications plus poussées : présence du "@" et d'un format de nom de domaine valide...
 
WRInaute occasionnel
L'inconvénient du javascript, c'est que cela peut se désactiver... pas le langage serveur (ASP / PHP) donc, il me semble plus pertinent de le renvoyer à l'étude de développement WEB avant de lui donner une fonction JS.

Il faut qu'il comprenne ce qu'il fait, lui donner du tout cuit n'est pas une solution, pour ça il a google...
Rien ne vaut l'apprentissage, ce n'est pas pour l'emmerder, mais pour l'aider à progresser.
 
WRInaute passionné
@Djibou_Te@M
Je suis d'accord avec toi, mais le php, ça lui prendra de quelques mois à une petite année pour se sentir à l'aise dans la mise en oeuvre...
Et je suppose que TEST210 a les mains dans le cambouis, et recherche une solution rapide (même si elle n'est pas satisfaisante globalement).

Le js n'empèche pas de faire des vérifications plus poussées sur le serveur (présence de spam, fichiers dangereux, etc..).

Avec un peu d'Ajax, ça serait encore plus élégant.... :D
 
WRInaute accro
MikeR a dit:
Avec un peu d'Ajax, ça serait encore plus élégant.... :D
Discutable quand on prend en compte son équivalent carbone :wink: :D

Plus sérieusement (quoi que) il est en effet impératif de vérifier des deux côtés la validité d'une saisie utilisateur.
Le côté client avec javascript permet de soulager la vérification serveur en bloquant à la base pas mal de soumissions invalides, ce qui n’empêchera pas de vérifier d'autres points côté serveur.

pour le côté client j'utilise ceci :

Code:
function confirmeMail(){
   var urlRE=/^[a-zA-Z0-9\-\.\_]+@[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}||museum||travel)$/;
   if(!urlRE.test(document.getElementById("mail").value)){
      alert(document.getElementById("mail").value+' non valable.'+'\n'+'Votre mail peut contenir "-", "_" et "." Les autres caracteres ne sont pas admis.');
      return false;
   }
   return true;
}
 
A
Anonymous
Guest
merci pour votre aide :)
Donc en utilisant le code de Miker, il faut que je fasse ceci ?

Code:
<form method="post" action="upload.html" name="formulaire" onSubmit="show_loading
(if (document.formulaire.email.value=="")
{
document.formulaire.email.focus();
alert ("L'email est obligatoire!");
return false;
});"> 

<input type="text" name="prenom" value="" id="prenom" onFocus="clearme();" />

<input type="text" name="email" value="" id="email" onFocus="clearme();" />

</form>

merci d'avance.
 
A
Anonymous
Guest
Ok donc c'est tout bon, le code de Miker fonctionne bien.
Par contre, il y a un soucis.

Vu qu'on est obligé d'appuyer sur le bouton "Soumettre" du formulaire pour que la fonction js vérifie la bonne présence du mail; y'a t-il une combine pour bloquer l'envoi du formulaire tant que l'email n'est pas renseigné ?

Car là je vais sur le formulaire, je ne rentre pas de mail, j'appuie sur "Soumettre", l'alerte s'affiche, j'appuie sur OK, mais le formulaire se valide quand même donc j'ai pas le temps de rentrer mon mail...

merci pour votre aide c'est sympa :)
 
A
Anonymous
Guest
Oui d'accord sauf que j'ai déjà testé le code de developpez.com :

Code:
function show_loading(){
    if(document.getElementById('email').value == ""){
        alert ('Vous avez oublié de saisir votre email!!!!');
        return false;
    }
return true;
}

qui est exactement le même que celui donné par Miker (sans le "} return true;" ) :

Code:
function show_loading() {

if (document.formulaire.email.value=="")
{
document.formulaire.email.focus();
alert ("L'email est obligatoire!");
return false;
}



Bilan : celui de developpez.com ne marche carrément pas ( le bouton "Envoyer" n'est pas cliquable, je peux valider uniquement le formulaire via la touche entrée, et aucune alerte pour me signaler que l'email n'est pas rempli).

le code de Miker marche, l'alerte apparaît bien, mais le formulaire se valide quand même donc pas le temps d'entrer l'adresse mail ...


Mon formulaire html :

Code:
<div class="formulaire" id="formulaire">
			<form method="post"  name="formulaire" action="upload.html" enctype="multipart/form-data" target="hframe" onSubmit="show_loading();">



			
			<strong>Entrez votre adresse e-mail ici </strong><input type="text" name="email" value="" id="email"   onFocus="clearme();" /><br />

&nbsp;&nbsp;<input type="submit" name="Submit" value="Envoyer" id="Envoyer" disabled="disabled" />
			</form>
			
		</div>



J'aimerais bien comprendre...
 
WRInaute passionné
Pour le faire marcher correctement, il faut appeler la fonction de validation depuis le bouton de soumission :

Code:
<input type="submit" value="Envoyer" onClick="return validateForm()">

Le form a la tête suivante :
Code:
<form name="frmSend" action="commentaire.php" method="POST">

(extrait du code de mon site... voir mon www si tu veux le code source entier)
 
WRInaute passionné
Test rapide : ça marche aussi (vérification et alert si problème) si le focus est sur un élément du formulaire. Au pire, il ne se passe rien....
 
A
Anonymous
Guest
Bah je vois pas ce qui cloche, chez moi ça marche pas.

J'appelle la fonction js dans mon bouton "submit" du formulaire :

Code:
<input type="submit" name="Submit" value="Envoyer" onClick="verifmail()" id="envoyer" disabled="disabled" />


Dans mon fichier .js, ma fonction "verifmail" :

Code:
function verifmail() {

if (document.formulaire.email.value=="")
{
document.formulaire.email.focus();
alert ("L'email est obligatoire!");
return false;
}


}


et avec ça, il y a bien l'alerte, mais le formulaire se valide quand même sans le mail...



Le <form> :

Code:
<form method="post"  name="formulaire" action="upload.html" 

enctype="multipart/form-data" target="hframe" onSubmit="show_loading();">
 
A
Anonymous
Guest
Zeb même en désactivant ce paramètre
Code:
<input type="submit" name="Submit" value="Envoyer" onClick="return verifmail()" id="upload" />

non seulement ça marche toujours pas (l'alerte "oubli du mail !" est là , mais le formulaire se valide quand même), mais maintenant le formulaire peut se valider même lorsqu'il est entièrement vide (prénom : vide, nom : vide, âge = vide, mail = vide ,et le formulaire se valide ...)

c'est à ne rien n'y comprendre, un truc aussi simple qui prend autant de temps c'est hallucinant...
 
WRInaute accro
T'as le syndrome du débutant sous pression :D j'en croise des dizaines a chaque session AFPA que je valide.
Ton problème c'est que tu ne sait pas ce que tu fais donc tu mélange une pincé de code a droite plus une poignée de code a gauche et que tu pense qu'en faisant des copier coller tu va t'en sortir.

Déjà quand tu fait du code :

* tu vire la présentation le blabla et le design car ça aide pas a voir clair.
* tu indente ton code car là tes scripts perso quand j'en croise un comme ça je fais Ctrl + A / Suppr et je dis au gars recommence tout c'est de la m3rde illisible.
* ensuite quand tu fait du débug tu met des affichages utiles dans toutes les conditions pour suivre ce qui se passe dans le code (echo, alert, ...).

Le pire c'est que tu va faire croire a des débutants que le javascript est compliqué et tu va les inviter à télécharger une bibliothèque toutes faite de 200 giga pour faire une popup.

PHP:
<span class="syntaxhtml"><span class="syntaxdefault"></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">form method</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"post"</span><span class="syntaxdefault">  name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"formulaire"</span><span class="syntaxdefault"> action</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> enctype</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"multipart/form-data"</span><span class="syntaxdefault"> onSubmit</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"return show_loading();"</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"text"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"email"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"email"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"submit"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Submit"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Envoyer"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Envoyer"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></</span><span class="syntaxdefault">form</span><span class="syntaxkeyword">><br /><br /><</span><span class="syntaxdefault">script type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"text/javascript"</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault">  function show_loading</span><span class="syntaxkeyword">()</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">{<br /></span><span class="syntaxdefault">    if </span><span class="syntaxkeyword">(</span><span class="syntaxdefault">document</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">formulaire</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">email</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">value</span><span class="syntaxkeyword">==</span><span class="syntaxstring">""</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">      document</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">formulaire</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">email</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">focus</span><span class="syntaxkeyword">();<br /></span><span class="syntaxdefault">      alert</span><span class="syntaxkeyword">(</span><span class="syntaxstring">"L'email est obligatoire!"</span><span class="syntaxkeyword">);<br /></span><span class="syntaxdefault">      return false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">    </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"></script></span></span>

Ensuite vis a vis de ton objectif initial, ta routine javascript ne vérifie toujours pas la validité du contenu (tu peut mettre autre chose qu'un mail dans le champ)
ET ... tu as encore la partie serveur a traiter car les grosses vérifications importantes se font là bas.
 
A
Anonymous
Guest
c'est vrai que quand on débute on se laisse vite décourager par des trucs souvent simples au final, mais ça viendra petit à petit avec le temps :D

ton code marche parfaitement zeb : alerte + blocage du formulaire tant que le champ n'est pas rempli.
merci beaucoup.

Maintenant, j'ai trouvé plusieurs tuto sur le net qui explique comment vérifier le formulaire en php mais je comprends pas un truc :

dans ce bout de code par exemple :

Code:
<?php

 //Vérification d'un formulaire

  while(list($id,$value) = each($HTTP_POST_VARS)){
  if(empty($value))
  echo "Le champ ".$id." est vide <br />";
  } 

?>

(que j'ai trouvé ici : http://www.phpsources.org/scripts44-PHP.htm )

donc apparemment pour vérifier que l'email (sur mon formulaire) est bien rempli , je dois remplacer le "$id" par "$email".
Seulement comment peut-on renseigner le formulaire concerné ?

Car sur la partie js, on renseignait le nom du formulaire (dans mon cas "formulaire") et la valeur à vérifier (dans mon cas "email"). Ou peut-être qu'il n'y a pas besoin de mettre le nom du formulaire ?

Car j'ai essayé ce bout de code tel quel et aucun résultat :

Code:
<?php

  while(list($email,$value) = each($HTTP_POST_VARS)){
  if(empty($value))
  echo "Le champ ".$id." est vide <br />";
  } 

?>
 
WRInaute accro
Tu as de grosses bases qui te manquent ça va pas être évident (surtout quand il va falloir aborder le contrôle de forme du contenu) mais pour avancer pas a pas :

ton code cité :

PHP:
<span class="syntaxdefault">  </span><span class="syntaxcomment">//Vérification d'un formulaire<br /></span><span class="syntaxdefault">  while</span><span class="syntaxkeyword">(list(</span><span class="syntaxdefault">$id</span><span class="syntaxkeyword">,</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">)</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> each</span><span class="syntaxkeyword">(</span><span class="syntaxdefault">$HTTP_POST_VARS</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">   if</span><span class="syntaxkeyword">(empty(</span><span class="syntaxdefault">$value</span><span class="syntaxkeyword">)){<br /></span><span class="syntaxdefault">    echo </span><span class="syntaxstring">"Le champ "</span><span class="syntaxkeyword">.</span><span class="syntaxdefault">$id</span><span class="syntaxkeyword">.</span><span class="syntaxstring">" est vide <br />"</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">   </span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">}</span><span class="syntaxdefault"> </span>
Se contente de parcourir toutes les variable POST "while(list($id,$value) = each($HTTP_POST_VARS))" pour voir si elle contiennent quelque chose. Autrement dit si elles ne sont pas vides "if(empty($value))". ça ne correspond pas tout a fait a ce que tu souhaite faire, ou a ce que je pense qu'il faut faire.

je dois remplacer le "$id" par "$email".
Non car $id n'a rien a voir avec ton "mail" dans certains cas. Le mail que tu cherche a vérifier n'est qu'un cas de l'ensemble des variables qui seront traitées par cette "fonction".

Dans la réalité simple :

Quand tu écrit (chez le client donc dans le navigateur) un formulaire comme suit en HTML (avec php, asp ou en dur) :

PHP:
<span class="syntaxdefault"></span><span class="syntaxkeyword"><</span><span class="syntaxdefault">form method</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"post"</span><span class="syntaxdefault">  name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"formulaire"</span><span class="syntaxdefault"> action</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"http://www.example.com/script.php"</span><span class="syntaxkeyword">><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"text"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"nom"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"prenom"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"text"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"prenom"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"prenom"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"text"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"email"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">""</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"email"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword"><</span><span class="syntaxdefault">input type</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"submit"</span><span class="syntaxdefault"> name</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Submit"</span><span class="syntaxdefault"> value</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Envoyer"</span><span class="syntaxdefault"> id</span><span class="syntaxkeyword">=</span><span class="syntaxstring">"Envoyer"</span><span class="syntaxdefault"> </span><span class="syntaxkeyword">/><br /></</span><span class="syntaxdefault">form</span><span class="syntaxkeyword">></span><span class="syntaxdefault"> </span>

et que l'utilisateur appuie sur le bouton "submit", le script "script.php" situé sur l'url "http://www.example.com/script.php" vas être sollicité et recevoir en cadeau 4 variables POST (method="post")

elles seront entre autre, utilisables avec cette syntaxe :

PHP:
<span class="syntaxdefault">$_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'nom'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'prenom'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'email'</span><span class="syntaxkeyword">],</span><span class="syntaxdefault"> $_POST</span><span class="syntaxkeyword">[</span><span class="syntaxstring">'Submit'</span><span class="syntaxkeyword">]</span><span class="syntaxdefault"> </span>

nom, prenom, email, Submit sont respectivement les attributs "name" de ton formulaire HTML ci dessus.

dans le code que tu as au dessus (la fonction de ton tuto) $id prend ses différentes valeurs (nom, prenom, email, Submit).
Si tu souhaite passer par cela pour vérifier ton formulaire il faudra tester si $id prend la valeur "email" avant de faire ton traitement de vérification.

dans un monde plus simple tu peut envisager de formuler ta vérification plus simplement (plus long mais plus clair) :

PHP:
<span class="syntaxdefault"></span><span class="syntaxcomment">// initialiser deux variables qui vont évoluer en fonction de tests<br /></span><span class="syntaxdefault">$reponse </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> true</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">$champInvalid </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">''</span><span class="syntaxkeyword">;<br /><br />if(...</span><span class="syntaxdefault"> condition </span><span class="syntaxkeyword">...){</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// chercher erreur dans $_POST['nom']<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">//code de vérification champ nom<br /></span><span class="syntaxdefault">  $reponse </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  $champInvalid </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Nom pas bon '</span><span class="syntaxkeyword">;<br />}<br />if(...</span><span class="syntaxdefault"> condition </span><span class="syntaxkeyword">...){</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// chercher erreur dans $_POST['prenom']<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">//code de vérification champ prenom<br /></span><span class="syntaxdefault">  $reponse </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  $champInvalid </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Prénom pas bon '</span><span class="syntaxkeyword">;<br />}<br />if(...</span><span class="syntaxdefault"> condition </span><span class="syntaxkeyword">...){</span><span class="syntaxdefault"> </span><span class="syntaxcomment">// chercher erreur dans $_POST['email']<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">//code de vérification champ email<br /></span><span class="syntaxdefault">  $reponse </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> false</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  $champInvalid </span><span class="syntaxkeyword">=</span><span class="syntaxdefault"> </span><span class="syntaxstring">'Email pas bon '</span><span class="syntaxkeyword">;<br />}<br />if(</span><span class="syntaxdefault">$reponse</span><span class="syntaxkeyword">){<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">//formulaire vérifié et valide<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">...</span><span class="syntaxdefault"> action&nbsp;</span><span class="syntaxkeyword">/&nbsp;</span><span class="syntaxdefault">traitement<br /></span><span class="syntaxkeyword">}else{<br /></span><span class="syntaxdefault">  </span><span class="syntaxcomment">// problème dans le formulaire<br /></span><span class="syntaxdefault">  echo $champInvalid</span><span class="syntaxkeyword">;<br /></span><span class="syntaxdefault">  </span><span class="syntaxkeyword">...</span><span class="syntaxdefault"> autre action<br /></span><span class="syntaxkeyword">}<br /></span><span class="syntaxdefault"> </span>

Les "... condition ..." devront via un retour true / false vérifier que ce que contient chaque variable "$_POST['qqueChose']" est correct ou pas.
 
A
Anonymous
Guest
Merci beaucoup pour vos réponses, je commence tout doucement à comprendre en suivant des cours sur le site du zéro pour apprendre écrire moi même du code, même si le début est difficile...

Par contre je viens de re-tester le code que m'avait donné zeb, c'est à dire :

Code:
<form method="post"  name="formulaire" action="" enctype="multipart/form-data" onSubmit="return show_loading();">
  <input type="text" name="email" value="" id="email" />
  <input type="submit" name="Submit" value="Envoyer" id="Envoyer" />
</form>

<script type="text/javascript">
  function show_loading() {
    if (document.formulaire.email.value==""){
      document.formulaire.email.focus();
      alert("L'email est obligatoire!");
      return false;
    }
  }
</script>


Donc ce code marche parfaitement sur mon navigateur habituel (chrome), mais je viens de le tester à la fois sur Firefox 11 et sur Explorer 9, et il ne marche sur aucun des 2.

Y'a t-il une petite manip à faire pour le rendre "compatible" avec Firefox et Explorer ? (j'ai bien vérifié et le javascript est activé sur les 2, donc je ne comprends pas...)

merci d'avance pour votre aide.
 
WRInaute accro
Cela viens de la formulation "antique" qui permet de cibler un élément je pense :

document.formulaire.email.value est obsolète (je l'ai repris car dans l'exemple précité).

En utilisant systématiquement document.getElementById('truc').value pour cibler la value d'un élément type input :
<input type="machin" id="truc" value="1234" />
ça fonctionne (ça peut cibler autre chose que la "value" d'ailleurs).

D'une façon générale tous les éléments du DOM son accessibles via cette méthode.
 
Nouveau WRInaute
Bonjour, est ce que vous pouvez m'aide voici mon site. je voudrais rendre obligatoire l'email et a l'envoi la page reviens pas a l'accueil il reste sur "Si vous n'etes pas redirigé au bout de 5 secondes cliquez ici " merci

<!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>Vous allez bientot etre redirigé</title>
</head>

<body style="color: #FFFFFF; background-color: #000000">

<?php
$nom=$HTTP_POST_VARS['nom'];
$mail=$HTTP_POST_VARS['mail'];
$objet=$HTTP_POST_VARS['objet'];
$message=$HTTP_POST_VARS['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="perraudvincent29@yahoo.fr"; //remplacez "perraudvincent29@yahoo.fr" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Vous allez bientot etre redirigé vers la page d'acceuil<br>
Si vous n'etes pas redirigé au bout de 5 secondes cliquez <a href="index.html"> ici
</a></p></body>
</html>
 
Discussions similaires
Haut