11548 sujets

JavaScript, DOM et API Web HTML5

bonjour à tous,

Ne m'y connaissant pas en programmation, j'ai suivi un tutoriel pour créer mon propre formulaire avec du php. Ensuite à l'aide d'un fichier js que j'ai récupéré tout fait, j'ai réussi à faire une vérification de chacun des champs avant leur envoie.
Si jamais le js était désactivé, j'ai également mis une vérification en php.
Tout va parfaitement bien.

seul chose qui me dérange dans tout ça, c'est le fait qu'une fois mon message envoyé, mes champs restent complétés.

J'aimerai donc, si cela est possible, que lorsque l'on clique sur "envoyer", après la vérification et l'envoie du message comme quoi le message a bien été envoyé,(tout cette parti là est ok) mon formulaire se réinitialise.

Je suppose que cela se fera en js. Si oui est-il possible de procéder en même temps avec une autre méthode au cas où le js est désactivé ?

voici mon site internet : http://hugo.kooka.be


Merci Smiley cligne
Hugo
Modifié par dod (10 Jun 2011 - 14:04)
Il suffit de réinitialiser tes variables avec la valeur NULL une fois que l'action de ton formulaire à été exécutée.
Saurais-tu me dire comment faire pcq en programmation je n'y connais vraiment rien :s
bonsoir,
en faisant une redirection via la fonction header('Location : lenomdetapage.php') ça de rait résoudre ton problème.
Bonjour,

Il faudra que tu donnes un nom à ton formulaire et rajouter le code suivant dans ta fonction javascript envoyant les données :

document.forms['contact'].reset();


Remplace contact par le nomdu formulaire
@ Natha, un grand merci pour ta réponse, mais comme je l'ai dis plus haut, je suis vraiment nul part en programmation. Le fichier js que j'ai, provient d'un de mes profs.
Je sais qu'il fonctionnement parfaitement, je me suis donc simplement contenté de le joindre à mon site et de faire le lien avec mon formulaire.
Seulement il y a tellement de fonction dedans que je ne sais pas du tout ou je dois mettre ta ligne de code :s
Saurais-tu être plus précis ?

Merci Smiley cligne
En fait j'avais pas fais gaffe que c'était pas de l'ajax, donc il faut vérifier dans le php si tu affiches pas les valeurs récupérées en "post" dans les textarea/input (si tu n'arrives pas à vérifier peux tu nous mettre le code php/html correspondant au formulaire?)
Ok Smiley cligne voici le code php pour la vérification de mon formulaire :

<!--Vérification du formulaire-->
<?php
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['mail']) && isset($_POST['message'])){
	extract($_POST);
	if(!empty($nom) && !empty($mail) && !empty($message)) {
		$message=str_replace("\'","'",$message);
		$destinataire="hugodewattinne@live.be";
		$sujet="Portfolio";
		$msg="Message provenant de  www.hugodewattinne.be  \n
		Nom: $nom \n
		Email: $mail \n
		Message: $message";
		$entete="From: $nom \n Reply-To: $mail";
		mail($destinataire, $sujet, $msg, $entete);
		
		$confirmation= "<p class=\"confirmation\">Votre message a bien été envoyé</p>";
	}

	else{
		$confirmation = "<p class=\"erreur\">Vérifiez que vous ayez bien rempli tous les champs</p>";
	}
	
}
?>      



Voici le code html de mon formulaire :

<?php
					/*On rappelle les deux variables crées plus haut*/
					if (isset ($confirmation)) {
						if (!empty($confirmation)) {
							echo $confirmation;
						}
					} 
				?>
                
                <!--DEBUT DU FORMULAIRE -->
            <form name="portfolio" method="post" action="contact.php?post=true">
                	<p>
                    <label for="nom" class="isNotEmpty">Nom :<span>*</span></label>
                    <br/>
                    <input type="text" name="nom" id="nom" size="49" tabindex="10" value="<?php echo $nom; ?>"/>
                    </p>
                                        
                    <p>
                	<label for="mail" class="isEmail">Email :<span>*</span></label>
                    <br/>
                    <input type="text" name="mail" id="mail" size="49" tabindex="30" value="<?php echo $mail; ?>"/>
                    </p>
                                        
                    <p>
                    <label for="message" class="isTextarea">Message :<span>*</span></label>
                    <br/>
       				<textarea class="message" name="message" id="message" rows="10" cols="70" tabindex="60"><?php echo $message; ?></textarea>
                    </p>
                    
                    <p>
                    <input type="submit" class="envoyer" value="Envoyer" tabindex="70"/>
                    </p>
            </form>
            <!-- FIN DU FORMULAIRE -->

<!--Vérification du formulaire--> 
<?php 
if(isset($_POST) && isset($_POST['nom']) && isset($_POST['mail']) && isset($_POST['message'])){ 
    extract($_POST); 
    if(!empty($nom) && !empty($mail) && !empty($message)) { 
        $message=str_replace("\'","'",$message); 
        $destinataire="hugodewattinne@live.be"; 
        $sujet="Portfolio"; 
        $msg="Message provenant de   www.hugodewattinne.be   \n 
        Nom: $nom \n 
        Email: $mail \n 
        Message: $message"; 
        $entete="From: $nom \n Reply-To: $mail"; 
        mail($destinataire, $sujet, $msg, $entete); 
         
        $confirmation= "<p class=\"confirmation\">Votre message a bien été envoyé</p>";
        $nom = $mail = $message = NULL;
        unset($_POST);
    } 
 
    else{ 
        $confirmation = "<p class=\"erreur\">Vérifiez que vous ayez bien rempli tous les champs</p>"; 
    } 
     
} 
?>  

Modifié par jb_gfx (10 Jun 2011 - 14:01)