11550 sujets

JavaScript, DOM et API Web HTML5

Bonsoir,


Je fais appel à vous car j'ai une petite lacune en syntaxe de codage ^^.

Je m'explique, j'ai créer un formulaire disponible IcI, et les champs sont traité en 1er lieu par un programme en javascript qui vérifie les champs et ensuite il est envoyé a un script en php... Enfin pour la fin c'est ce que j'aimerais faire...

<form method="post" form name="formulaire_prive" action="javascript:ok();" onsubmit="return (ConForm(this));">

    <fieldset>
        <legend><span class="style_normal"><strong>Descriptif de votre bien</strong></span></legend>
		   <br />
		   
            <label for="type_de_bien"><span class="style_normal">Type de bien :</span></label>
			<select name="type_de_bien" id="type_de_bien" tabindex="10">
                          <option value="appartement">Appartement</option>
                          <option value="maison">Maison</option>
                          <option value="loft">Loft</option>
                          <option value="autre">Autres</option>
      </select><br /><br />
			
            <label for="code_postal_bien"><span class="style_normal">Code postal du bien : </span></label>   <input type="text" name="code_postal_bien" id="code_postal_bien" size="20" maxlength="5" tabindex="20"lang="Code postal;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer le code postal du bien" /><br /><br />
			
			<label for="ville_bien"><span class="style_normal">Ville du bien : </span></label> <input type="text" name="ville_bien" id="ville_bien" size="20" maxlength="30" tabindex="30" lang="Ville du bien;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer la ville du bien" /><br /><br />
			
<label for="pays"><span class="style_normal">Pays :</span></label>
			<select name="pays" id="pays" tabindex="40" >
           <optgroup label="Europe">
               <option value="france">France</option>
               <option value="espagne">Espagne</option>
               <option value="italie">Italie</option>
               <option value="royaume-uni">Royaume-Uni</option>
           </optgroup>
           <optgroup label="Amérique">
               <option value="canada">Canada</option>
               <option value="etats-unis">Etats-Unis</option>
           </optgroup>
           <optgroup label="Asie">
               <option value="chine">Chine</option>
               <option value="japon">Japon</option>
           </optgroup>
       </select><br /><br />	
	   
			<label for="nbr_piece"><span class="style_normal"> Nombre de pieces :</span></label> <input type="text" name="nbr_piece" id="nbr_piece" size="20" maxlength="5" tabindex="50" lang="nombre de piece;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer le nombre de piece" /><br /><br />
	
			<label for="surface"><span class="style_normal">Surface habitable en m&sup2; : </span></label> <input type="text" name="surface" id="surface" size="20" maxlength="5" tabindex="60" lang="Surface habitable;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer la surface habitable" /><br /><br /><br />	
			
<label for="texte_annonce">
<div align="center"><span class="style_normal">Texte de votre annonce : </span> </label>
       <textarea name="texte_annonce" id="texte_annonce"  maxlength=500 onKeyPress='fUpdCompteur()' onKeyUp='fUpdCompteur()' rows="7" cols="44" tabindex="70" lang="Texte annonce;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer le texte de l'annonce" /></textarea><br />
	   <div id="decompteur"><span class="style_normal">Vous avez </span><input type='text' name='compteur'  readonly=1 size=1> <span class="style_normal">caractères restant</span></div> </div> <br /><br />	   		   		
			
			<label for="prix_vente"><span class="style_normal">Prix de vente en €: </span></label> <input type="text" name="prix_vente" id="prix_vente" size="20" maxlength="12" tabindex="80" lang="Prix de ventre;
						erreurfond:#FF0000;bontexte:#000000;
						type:obligatoire;erreur: - Vous devez entrer le prix de vente en €" />
			
   </fieldset>   
   <div align="center"><input type="submit" value="Soumettre" /> </div> 
    </form>


Comme vous l'avez pu voir, j'ai mis en gras l'action à laquelle le formulaire est associé une fois que celui ci est envoyé mais comment faire, pour qu'il soit en premier temps traité par le script JS et aprés par le script PHP ?

Merci de votre aide Smiley smile
Modifié par Cocopop (22 Feb 2008 - 00:47)
Modérateur
Salut, Smiley smile

a écrit :
comment faire, pour qu'il soit en premier temps traité par le script JS et aprés par le script PHP ?
C'est tout le temps le cas; lorsque tu soumets ton formulaire, c'est le JS qui agit en premier lieu.
tu me modifies ton formulaire de facon à ce que l'appel soit fait à ton fichier php de cette maniere :


<form method="post" form name="formulaire_prive" action="monfichier.php" onsubmit="return (ConForm(this));">


et dans ton code JS la fonction ConForm doit retourner true si le formulaire est bon, et false si le formulaire est faux.
Si le onsubmit du formulaire retourne false, le formulaire ne sera jamais envoyé mais s'il retourne true, alors le formulaire sera envoyé