Rechercher : dans
Par :

[javascript] controle et verif form

Dernière réponse le 13 mai 2009 à 11:10:37 txiki, le 27 jan 2006 à 15:47:20 
 Signaler ce message aux modérateurs

Bonjour aux spécialistes des formulaires et javascript,
J'ai fait un formulaire avec 4 champs obligatoires parmi d'autres. Un script.js de controle de ces champs.
Jusque là: OK !.
Mais j'ai un autre script qui me génére (mal mais...) une pop up avec le résumé.
Celui là fonctionne aussi mais.... c'est soit l'un, soit l'autre. Pas les deux en même temps. Dans le head j'ai:

<script language="JavaScript" src="../scripts/verif.js" type="text/JavaScript"></script>
<script language="JavaScript" src="../scripts/resume.js" type="text/JavaScript"></script>

puis le verif.js:
<!-- Vérification 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.matricule.value == "")
	{
		alert ('Veuillez entrer votre matricule');
		document.formulaire.matricule.focus();
		return false;
	}
	if(document.formulaire.matricule.value.length != 4)
	{ 
		alert ('Le matricule doit comporter 4 chiffres'); 
		document.formulaire.matricule.focus();
		return false; 
	}
	if(document.formulaire.telephone.value == "")
	{
		alert ('Veuillez entrer un n° de téléphone');
		document.formulaire.telephone.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; 
	}
	else {return true;}
}
//-->
et le resume.js:
<!--popup confirmation après validation formulaire. 
function resum(){
   Fenetreresum = window.open('','Vérification','scrollbars=no, resizable=no, toolbar=no, status=no, top=220, left=250, width=420, height=300')
   Fenetreresum.document.write("Merci de prrendre le temps de vérifier ce que vous venez de saisir:<br> ( coordonnées, téléphone où e-mail et la date). <br><strong> Merci !</strong>");
   Fenetreresum.document.write("<br><br><b>Nom : </b>" + document.formulaire.nom.value);
   Fenetreresum.document.write("<br><b>Prénom : </b>" + document.formulaire.prenom.value);
   Fenetreresum.document.write("<br><b>matricule: </b>" + document.formulaire.matricule.value);
   Fenetreresum.document.write("<br><b>téléphone: </b>" + document.formulaire.telephone.value);
   Fenetreresum.document.write("<br><b>e-mail: </b>" + document.formulaire.courriel.value);
   Fenetreresum.document.write("<br><b>date choisie: </b>" + document.formulaire.select.value);
   Fenetreresum.document.write("<br><b>commentaire éventuel: </b>" + document.formulaire.textarea.value);
}
//-->
D'ailleur ce dernier est incomplet car je ne peux pas définir la police, sa taille, sa graisse sa couleur etc.... mais je ne sais pas comment l'écrire ici dessus.

Ma question est celle-ci: Comment je peux afficher une pop up avec le résumé de la saisie , faire OK pour la valider puis afficher une indication (remerciement où autre) pour indiquer au visiteur que son action a bien été effectuée.
Merci mille fois pour vos lumières.


Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Meilleures réponses pour « [javascript] controle et verif form » dans :
Javascript - Manipulation des contrôles clavier VoirManipulation des contrôles clavier Cette astuce a pour but de vous faire découvrir la (ou du moins une) manière de contrôler les évènements clavier en javascript. Cela vous permettra de contrôler/attribuer les/des comportements particuliers à...
Javascript - Modifier la hauteur (height) d'un élément HTML VoirPour modifier la hauteur d'un élément HTML en javascript, il suffit d'utiliser sa propriété de style "height". Pour cela vous pouvez y faire référence de la manière suivante : Si vous souhaitez connaître la hauteur (height) d'un bloc HTML, il...
YouTube - Vous avez désactivé JavaScript VoirProblème Lorsque vous naviguez sur certains sites, tels que YouTube, ceux-ci affichent le message d'erreur suivant : Vous avez désactivé JavaScript ou bien vous possédez une ancienne version d'Adobe Flash Player. Téléchargez la dernière version...
Télécharger Notebook Hardware Control VoirNotebook Hardware Control est un outil de contrôle des composants de votre Notenook. - Il contrôle la gestion d'alimentation de votre système. - Il personnalise Notebook (open source). - Il prolonge la durée de vie de votre batterie. - Il...
Javascript - La notion d'objet VoirNotion d'objet Le but de cette section n'a pas pour ambition de traîter de la programmation orientée objet mais de donner une idée de ce qu'est un objet, concept nécessaire à la création de scripts Javascript. Le Javascript traite les éléments qui...
Javascript - Les événements VoirQu'appelle-t-on un événement? Les événements sont des actions de l'utilisateur, qui vont pouvoir donner lieu à une interactivité. L'événement par excellence est le clic de souris, car c'est le seul que le HTML gère. Grâce au Javascript il est...
Javascript - Les variables VoirLe concept de variable Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. En Javascript, les noms de variables peuvent être aussi long que l'on désire,...

1

HackTrack, le 30 mar 2006 à 09:55:37
  • +4

<html>
<head>
<script language="javascript" type="text/javascript">

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.matricule.value == "")
	{
		alert ('Veuillez entrer votre matricule');
		document.formulaire.matricule.focus();
		return false;
	}
	if(document.formulaire.matricule.value.length != 4)
	{ 
		alert ('Le matricule doit comporter 4 chiffres'); 
		document.formulaire.matricule.focus();
		return false; 
	}
	if(document.formulaire.telephone.value == "")
	{
		alert ('Veuillez entrer un n° de téléphone');
		document.formulaire.telephone.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; 
	}
	else
	{
	 	if(window.document.all('flag').innerHTML="false"){
			resum();
			return false;
		}else{
			return true;
		}
	}
}

function resum(){
   html= "";
   html += "  <head>";
   html += "    <style>";
   html += "      body, table, tr,td{";
   html += "        background-color: #FFFFCC;";
   html += "        color: #009900;";
   html += "        font-family: Verdana, Arial, Courrier;";
   html += "        font-size: 10px;";
   html += "      }";
   html += "    </style>";
   html += "  </head>";
   html += "  <body>";

   html += "<i>Merci de prendre le temps de vérifier ce que vous venez de saisir:<br> ( coordonn&eacute;es, t&eacute;l&eacute;phone ou e-mail et la date).</i>";
   html += "<p/><strong> Merci !</strong><p/>";
   html += "	<table>";
   html += "	  <tr>";
   html += "	    <td><b>Nom</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.nom.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Pr&eacute;nom</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.prenom.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b<Matricule</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.matricule.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>T&eacute;l&eacute;phone</td>";
   html += "	    <td>: ";
   html += document.formulaire.telephone.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>E-mail</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.courriel.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Date choisie</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.select.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Commentaire &eacute;ventuel</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.textarea.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td colspan='2'>";
   html += "	      <button onclick='window.opener.document.all(\"flag\").innerHTML=\"true\";window.opener.document.formulaire.submit();self.close();'>Je confirme</button>";
   html += " <button onclick='self.close();'>Je veux modifier</button>";
   html += "	    </td>";
   html += "	  </tr>";
   html += "	<table>";
   html += "  </body>";
   Fenetreresum = window.open('','Vérification','scrollbars=no,resizable=no,toolbar=no,status=no,top=220,left=250,width=420,height=300')
   Fenetreresum.document.write(html);
}

</script>
</head>
<body>
<form name="formulaire" method="GET" action="http://www.somewhere.com">
<table>
	<tr>
	  <td>Nom:</td>
	  <td><input type="" name="nom" value="Hack" /></td>
	</tr>
	<tr>
	  <td>Prénom:</td>
	  <td><input type="" name="prenom" value="Track" /></td>
	</tr>
	<tr>
	  <td>Matricule:</td>
	  <td><input type="" name="matricule" value="1234" /></td>
	</tr>
	<tr>
	  <td>Téléphone:</td>
	  <td><input type="" name="telephone" value="123456" /></td>
	</tr>
	<tr>
	  <td>Courriel:</td>
	  <td><input type="" name="courriel" value="hack_track@hotmail.com" /></td>
	</tr>
	<tr>
	  <td>Date:</td>
	  <td>
		<select name="select">
			<option value="01/04/2006">01/04/2006</option>
			<option value="01/10/2006">01/10/2006</option>
		</select>

	</tr>
	<tr>
	  <td>Commentaire:</td>
	  <td><textarea cols="40" rows="5" name="textarea" value="">Juste pour tester. HackTrack</textarea></td>
	</tr>
	<tr>
	  <td colspan="2"><input type="submit" onclick="javascript: return verif();"/> <input type="reset"/></td>
	</tr>
</table>
</form>
<div id="flag" name="flag" style="display: none;">false</div>
</body>
</html>



;-)
HackTrack

Répondre à HackTrack

2

txiki, le 30 mar 2006 à 16:51:09

Merci infiniment !

Je suis en train de faiore des essais.
J'ai créé deux fichier js séparés. Et ça marche ! Mais lorsque j'intègre le formulaire dans ma page qui contient un petit speech au début et un menu à gauche, ça ne fonctionne plus (l'affichage du résumé car le controle, lui, fonctionne).

Il faut aussi que je précise que pour le moment je suis condamné au mailto en post. Il faudrait que je trouve comment créer des enregistrements sur une feuille excel en validant le formulaire (ça devrait pouvoir se faire avec une macro où un truc du genre non ?)

En tous cas, tu me sort une grosse épine du pied et ça.... j'oublirai pas.

Merci encore.
Le bonheur est la seule chose que l'on peut donner sans l'av­oir.

Répondre à txiki

3

txiki, le 1 avr 2006 à 23:03:43

Salut Hack,

C'est bizarre ! j'ai une page qui explique qu'il y aura des séances d'initiation à la sécurité et dans laquelle je veux mettre un formulaire pour les inscription à ces séances.
J'ai donc testé ta correction (formulaire seul) et ça fonctionne impec.
MAIS, si j'ajoute ce même formulaire à ma page qui propose des séances d'intiation, les controles des champs fonctionnent sauf qu'au moment de valider ça n'affiche pas le résumé.
Par contre, si je met un lien "inscription" qui pointe sur le formulaire seul (dans une pop up) là ça fonctionne, controles + affichage du résumé.

Comment expliquer cela ?
Je suis revenu à la formule des .js séparés (verif.js + resum.js) en mettant

<script language.......><script>
dans le head du formulaire.
Ca fonctionne très bien.

Si tu veux, lundi je t'enverrai le code complet de la page en question...
Merci encore et bon week end.


Le bonheur est la seule chose que l'on peut donner sans l'avoir.

Répondre à txiki

4

frederic92, le 3 avr 2006 à 11:07:59

Moi j'ai un ti pb avec ton script HackTrack !

j'ouvre le formulaire dans un popup et je n'arrive pas la validation de ce formulaire fermer la popup de validation et la popup de formulaire

comment faire ?
merci pouir votre aide

Popup.php

<html>
<head>
<script language="javascript" type="text/javascript">

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.matricule.value == "")
	{
		alert ('Veuillez entrer votre matricule');
		document.formulaire.matricule.focus();
		return false;
	}
	if(document.formulaire.matricule.value.length != 4)
	{ 
		alert ('Le matricule doit comporter 4 chiffres'); 
		document.formulaire.matricule.focus();
		return false; 
	}
	if(document.formulaire.telephone.value == "")
	{
		alert ('Veuillez entrer un n° de téléphone');
		document.formulaire.telephone.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; 
	}
	else
	{
	 	if(window.document.all('flag').innerHTML="false"){
			resum();
			return false;
		}else{
			return true;
		}
	}
}

function resum(){
   html= "";
   html += "  <head>";
   html += "    <style>";
   html += "      body, table, tr,td{";
   html += "        background-color: #FFFFCC;";
   html += "        color: #009900;";
   html += "        font-family: Verdana, Arial, Courrier;";
   html += "        font-size: 10px;";
   html += "      }";
   html += "    </style>";
   html += "  </head>";
   html += "  <body>";

   html += "<i>Merci de prendre le temps de vérifier ce que vous venez de saisir:<br> ( coordonn&eacute;es, t&eacute;l&eacute;phone ou e-mail et la date).</i>";
   html += "<p/><strong> Merci !</strong><p/>";
   html += "	<table>";
   html += "	  <tr>";
   html += "	    <td><b>Nom</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.nom.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Pr&eacute;nom</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.prenom.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b<Matricule</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.matricule.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>T&eacute;l&eacute;phone</td>";
   html += "	    <td>: ";
   html += document.formulaire.telephone.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>E-mail</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.courriel.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Date choisie</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.select.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td><b>Commentaire &eacute;ventuel</b></td>";
   html += "	    <td>: ";
   html += document.formulaire.textarea.value;
   html += "	    </td>";
   html += "	  </tr>";
   html += "	  <tr>";
   html += "	    <td colspan='2'>";
   html += "	      <button onclick='window.opener.document.all(\"flag\").innerHTML=\"true\";window.opener.document.formulaire.submit();self.close();'>Je confirme</button>";
   html += " <button onclick='self.close();'>Je veux modifier</button>";
   html += "	    </td>";
   html += "	  </tr>";
   html += "	<table>";
   html += "  </body>";
   Fenetreresum = window.open('','Vérification','scrollbars=no,resizable=no,toolbar=no,status=no,top=220,left=250,width=420,height=300')
   Fenetreresum.document.write(html);
}

</script>
</head>
<body>
<form name="formulaire" method="post" action="index2.php">
<table>
	<tr>
	  <td>Nom:</td>
	  <td><input type="" name="nom" value="nom" /></td>
	</tr>
	<tr>
	  <td>Prénom:</td>
	  <td><input type="" name="prenom" value="fred" /></td>
	</tr>
	<tr>
	  <td>Matricule:</td>
	  <td><input type="" name="matricule" value="1234" /></td>
	</tr>
	<tr>
	  <td>Téléphone:</td>
	  <td><input type="" name="telephone" value="123456" /></td>
	</tr>
	<tr>
	  <td>Courriel:</td>
	  <td><input type="" name="courriel" value="Mon_mail@fai.fr" /></td>
	</tr>
	<tr>
	  <td>Date:</td>
	  <td>
		<select name="select">
			<option value="01/04/2006">01/04/2006</option>
			<option value="01/10/2006">01/10/2006</option>
		</select>

	</tr>
	<tr>
	  <td>Commentaire:</td>
	  <td><textarea cols="40" rows="5" name="textarea" value="">Juste pour tester.</textarea></td>
	</tr>
	<tr>
	 <td colspan="2"><input type="submit" onclick="javascript: return verif();"/> <input type="reset"/>
	 <td colspan='2'>"; 
   </td>
	</tr>
</table>
</form>
<div id="flag" name="flag" style="display: none;">false</div>
</body>
</html>


Et voici juste le script javascript d’ouverture de la popup de ma page index2.html

</script>

<script language="javascript">

function popupcentree(page,largeur,hauteur,options)
{
var top=(screen.height-hauteur)/2;
var left=(screen.width-largeur)/2;
window.open(page,"popup","top="+top+",left="+left+",width="+largeur+",height="+hauteur+","+options);
}

</script>

Répondre à frederic92

5

 piopier, le 18 sep 2007 à 15:18:59

En meme temps les scripts de validation de champs c'est vraiment pas l'idéal : niveau accessibilité aux internautes handicapés, c'est zéro pointé...

Répondre à piopier
Collection CommentÇaMarche.net