2011-01-03 3 views
3

Comment puis-je afficher une alerte après qu'un utilisateur clique sur un bouton d'envoi dans un formulaire?Afficher le message après l'envoi

Je veux l'alerte montrer lorsque la page est chargée après le bouton d'envoi a été cliqué.

Y at-il un moyen de le faire?

EDIT:

J'ai besoin que le message soit du texte HTML qui est affiché sur la page - pas d'alerte javascript.

+0

@codedude - l'alerte est une alerte JavaScript? ou juste un HTML affichant un message en texte brut? – ajreal

+0

Que contient l'alerte? Des informations sur le formulaire? Le formulaire renvoie-t-il à la même page ou à une autre page? – jmort253

+0

L'alerte sera tout simplement vieux texte html. Le formulaire renvoie à la même page. – codedude

Répondre

3

pagewithform.php

<html> 
    <head> 
    ... 
    </head> 
    <body> 
    ... 
    <form action="myformsubmit.php" method="POST"> 
     <label>Name: <input type="text" name="name" /><label> 
     <input type="Submit" value="Submit" /> 
    </form> 
    ... 
    </body> 
</html> 

myformsubmit.php

<html> 
    <head> 
    .... 
    </head> 
    <body> 
    <?php if (count($_POST)>0) echo '<div id="form-submit-alert">Form Submitted!</div>'; ?> 
    ... 
    </body> 
</html> 

ÉDITÉ Fits nouvelles critieria de OP sur la dernière modification.

EDITv2 Essayez-le à la maison!

<html> 
    <head> 
    <title>Notify on Submit</title> 
    </head> 
    <body> 
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST"> 
     <label>Name: <input type="text" name="name" /></label> 
     <input type="submit" value="Submit" /> 
    </form> 
    <?php if (count($_POST)>0) echo "Form Submitted!"; ?> 
    </body> 
</html> 

Essayez-le pour la taille.

+0

(Voir Article édité) – codedude

+0

@codedude: Noted, maintenant voir mon post édité.;-) –

+0

Etes-vous sûr que cela fonctionnera? – Shoe

0

Puisque vous soumettez à la même page, une façon plus propre et plus moderne de le faire serait d'utiliser JQuery pour soumettre le formulaire en utilisant AJAX. Vous pouvez ensuite spécifier une méthode de rappel qui mettra à jour un conteneur sur la page afin de refléter le changement d'état:

$('#myForm').submit(function() { 
    $('#myResultDiv').text("Form submitted"); 
    return false; 
}); 


... 

<div id="myResultDiv"></div> 

Cela empêche le rechargement inutile de la page, ce qui rend votre application web souplement et plus réactif.

Cela a aussi l'avantage de garder votre code HTML et JavaScript (contenu et comportement) séparé, pour lequel vos concepteurs web vous remercieront.

Cela fonctionnerait avec à peu près toutes les plateformes côté serveur, y compris mais sans s'y limiter PHP.

+0

J'utiliserais Ajax si j'avais une bonne compréhension de la façon dont cela fonctionnait. En ce moment j'ai essentiellement nul. – codedude

+0

C'est en fait l'un des exemples les plus simples. Lorsque votre utilisateur clique sur submit, les données du formulaire sont envoyées à votre script PHP comme il le ferait normalement, sauf que l'utilisateur continue à voir la même page. Lorsque le traitement du formulaire est terminé, la fonction anonyme liée à "submit" est appelée, et le texte "Form submitted" est inséré dans la DIV avec l'ID = "myResultDiv". À mon avis, en fonction du temps dont vous disposez et de la patience, cela vaut la peine d'enquêter car cela améliorera la convivialité de votre application. Bien sûr, il y a beaucoup d'autres solutions ici qui seront probablement plus faciles pour vous – jmort253

+0

Il convient de noter que AJAX devrait toujours être considéré comme un supplément et non comme une alternative. C'est encore pratique courante de faire des choses avec des transitions de page et, quand cela est possible/soutenu, de les rendre transparentes avec les appels AJAX. –

0
<?php 

echo "<html> 
<head> 
</head>"; 

if($_POST['submit']){ 
    echo 'The form was submitted!"; 
} else { 
    echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST"><input type="submit" name="submit" value="Submit">'; 
} 

echo "</html>"; 

?> 
0

Puisque vous soumettez à la même page, une façon plus propre et plus moderne de le faire serait d'utiliser JQuery pour soumettre le formulaire en utilisant AJAX. Vous pouvez ensuite spécifier une méthode de rappel qui mettra à jour un conteneur sur la page afin de refléter le changement d'état:

Questions connexes