5568 sujets

Sémantique web et HTML

Bonjour à tous, j'ai un petit soucis avec un formulaire que je n'ai jamais utilisé mais que j'avais mis de côté lors de la création d'un site qui n'a jamais aboutit.
C'est un formulaire html mis en page avec du css et animations via jquerry.

Le soucis, c'est que lorsqu'on appuie sur envoyer, aucune action ne se crée! Je ne trouve pas la cause de ce problème donc si quelqu'un m'accorde un peu de son temps pour résoudre ceci, ça serait sympa.


HTML :

<div class="form">
		<form name="inscription" id="inscription" method="post" action="pages/ok.php">
			<fieldset id="coordonnees">
				<legend>Vos coordonnées</legend>
					<p>
						<label id="l_nom" for="nom" title="Veuillez saisir votre nom" class="oblig">Nom :</label>
						<input type="text" name="nom" id="nom" title="Veuillez saisir votre nom" tabindex="1" value="" size="30" />

							<span class="exemple">ex : Martin</span>
					</p>


					<p>
						<label id="l_prenom" for="prenom" title="Veuillez saisir votre prénom" class="oblig">Prénom :</label>

						<input type="text" name="prenom" id="prenom" title="Veuillez saisir votre prénom" tabindex="2"  value="" size="30" />

                          <span class="exemple">ex : Bruno</span>
					</p>


					<p>
						<label id="l_eMail" for="eMail" title="Veuillez saisir votre adresse email" class="oblig">e-Mail :</label>
 
						<input type="text" name="eMail" id="eMail" title="Veuillez saisir votre adresse e-mail" tabindex="3"  value="" size="30"/>
 
                          <span class="exemple">ex : bruno.martin@gmail.com</span>
					</p>


					<p>
						<label id="l_tel" for="tel" title="Veuillez saisir votre numéro de téléphone" class="oblig">Tel :</label>

						<input type="text" name="tel" id="tel" title="Veuillez saisir votre numéro de téléphone" tabindex="4" value="" size="30" />
 
						<span class="exemple">ex : 0610203040</span>
					</p>
					
						<p>
						<label id="l_tel" for="tel" title="Veuillez saisir un sujet au message" class="oblig">Objet :</label>

						<input type="text" name="obj" id="obj" title="Veuillez saisir un sujet au message" tabindex="5" value="" size="30" />
 
						<span class="exemple">ex : Devis site WEB</span>
					</p>

					<p>
						<label id="l_texte" for="texte" title="Veuillez saisir votre message " class="oblig">Message :</label>
                          <textarea  name="texte" id="texte" title="Veuillez saisir votre message" tabindex="6" cols="30" rows="4"/></textarea>

					</p>
 
 
 
					<p>
						<label id="l_sub" for="but_submit" title="go">&nbsp; </label>
                        <input type="submit" value="Envoyer" id="but_submit" onSubmit="pages/ok.php" />
					</p>
       
			</fieldset>

		</form>
	</div>





CSS:

      #coordonnees {

      margin: 10px 0 0 0;

      width: 600px;

      border:1px solid #000000;

      -moz-border-radius:8px;

      background:#ffffff;

      }

      #coordonnees legend {

      padding:5px;

      border:none;

      background:#ffffff;

      color:#000000;

      border:1px solid #000000;

      -moz-border-radius:8px;
	  font-family:Verdana, Arial, Helvetica, sans-serif;
	  font-size: 10pt;
	  font-weight: bold;

      }

      #inscription label {

      float: left;    /*** Très important, ne pas suprimer ! ***/

      width: 20%;    /*** Les intitulés prennent 15% de la largeur totale du formulaire... ***/

      text-align: left;    /*** ... et ils sont alignés à gauche... ***/

      margin-left: 80px;

      padding: 0 .5em 0 0;

      line-height: 18px;    /*** ... et centrés verticalement. ***/

      color:#000000;
	  
	  font-weight:normal;

      }

      #inscription input {

      border:1px solid black;

      padding:2px;

      }

      .exemple {

      font-size:.75em;

      font-style:italic;

      float:right;

      margin-top: -10px;

      display:none;
	  color:#FF0000;

      }


      label.oblig {

      font-weight: bold;  /*** Mise en évidence des champs obligatoires ***/

      }

      .focus { /*** Retour à l'état normal après l'utilisation ***/

      background: #fddffd;

      color: black;

      }

      .normal {   /*** Retour à l'état normal après l'utilisation ***/

      background: white;

      color: black;


      }

      .erreur {

      background: red;

      }


      #but_submit {

      margin:5px 0;

      }




Voici le code php de ma page récupérant les infos, on sait jamais s'il y a une faute que j'ai zappé:

<?php
	$nom = $_POST['nom'];
	$prenom = $_POST['prenom'];
	$email = $_POST['eMail'];
	$tel = $_POST['tel'];
	$obj = $_POST['obj'];
	$texte = $_POST['texte'];


	if ($texte == ''){
		$texte = 'Aucun commentaire laissé par la personne';
	}


	$adresse = "nianiok43@hotmail.com";
	$sujet = "t$obj";
	$message = "Vous recevez ce message depuis le site web X, de la part de :\n\n";
	$message .= "Nom: \t$nom\n\n Prénom: \t$prenom\n\n E-mail: \t$email\n\n Tel: $tel\n\n";
	$message .= "Commentaires: \t$texte\n\n";
	$mailheaders ="From: Site X\n";

	$recipient = "Site X";
	
	//mail($adresse, $sujet, $message, $mailheaders, $recipient);
	
	
	 if(@mail($adresse, $sujet, $message, $mailheaders, $recipient)){
          echo '<center>Merci, Mme, Mr $nom, \n </center>';
		  echo '<center>Votre message a bien été envoyé !</center>';
    
	 }else{
          echo '<center>Echec, veuillez rééssayer ultérieurement.</center>';
     } 
	
	
?>



Je vous fait grâce du code JS mais au cas où, je le laisse ici (clic droit => afficher la source et vous aurez accès aux 2 pages JS)

http://nianiokdesign.free.fr/show


Merci d'avance à celui qui trouvera mais je pense que ce ne sera pas évident...
Apparemment le soucis viendrait de la, page de vérification javascript car quand je l'enlève, ça marche mais ça refuse d'envoyer le message, cela me met "échec", cf. mon code php ci-dessus.

$(document).ready(function() {     /* gestion du focus / blur */

	$(":input[@type!='submit']").focus(function ()  {
		$(this).removeClass();
		$(this).addClass("focus");
		$(this).parent().find(".exemple").css({display:"block"});

	});

       

	$(":input[@type!='submit']").blur(function  () {

		$(this).removeClass();
		$(this).addClass("normal");
		$(this).parent().find(".exemple").css({display:"none"});
	});

       

      /*effet alerte*/

	function alerte(e)  {

		$(e).animate({

			fontSize:"1.2em"

		}, 150, function(){
	
			$(e).animate({

				fontSize:"1em"

			}, 150);

		});

		$(e).find("input").removeClass(); $(e).find("input").addClass("erreur");

		$(e).find(".exemple").css({display:"block"});

	}

       

      /* contrôle global */

	$("form").submit(function(){

		var re1=    /^[\w-]+(\.[\w-]+)*@([\w-]+\.)+[a-zA-Z]{2,7}$/; /*expr regul pour l'email */
		var re2 = /^[-]?\d*\.?\d*$/;    /*expr regul pour les chiffres*/
		var re3 = /\b.{10}\b/; /*expr    regul 10 caractères*/

       
		$(":input").each(function(){

			var valeur = $(this).val(); /* valeur saisie par l'utilisateur */
			var nom = $(this).attr("name"); /*nom du champ */
			var label = "l_"+nom; /* id du label */
			var p = $("#"+label+"").parent();

			$(this).parent().find(".exemple").css({display:"none"});

			if(valeur==''){ /* si c'est vide c'est pas bon */

				alerte(p);
	
				return false;

			}

			if(nom =='eMail') { /* teste le format  */

				if(!valeur.match(re1)) {

					alerte(p);

					return false;
	
				}

			}

			if(nom =='tel') { /* teste le format (chiffes please !) */

				if((!valeur.match(re2)) || (!valeur.match(re3))) {

					alerte(p);

					return false;

				}

			}

		});

		return false;

	});

});

Bon, j'ai modifié mon code php car le mien devait daté des années 20 Smiley sweatdrop et ça marche pour le php.

Le soucis à présent vient seulement de la page de verification en js, donc si quelqu'un peut me filer un coup de main, ça serait top. Merci.
Modifié par __Nianiok_43___ (18 Jan 2010 - 23:58)
Salut,

C'est quel version de jquery ? A partir de la version 1.3 je crois, la syntaxe du sélecteur d'attribut change.

//avant
$(":input[@type!='submit']")
//après
$(":input[type!='submit']")


Pense à vérifier le formulaire coté serveur également, c'est facile de passé une sécurité javascript Smiley cligne
Salut!

Apparemment ça viendrait plutôt de mon fichier JS de vérification...

Sinon pour ma version, c'est la jQuery 1.2.3 - New Wave Javascript