开发者

How do you display a JavaScript alert from PHP?

开发者 https://www.devze.com 2022-12-09 11:34 出处:网络
I don\'t code in PHP, but I have this form which I pulled off the web and its working great: What I would like to do is somehow add some code in here that can fire up a JS script, simple alert box, s

I don't code in PHP, but I have this form which I pulled off the web and its working great:

What I would like to do is somehow add some code in here that can fire up a JS script, simple alert box, saying "Thank you form is submitted". After the form was received by this mailer.php file.

<?php
if(isset($_POST['submit'])) {

$to =开发者_开发知识库 "myEmail@email.com";
$subject = "Form Tutorial";
$name_field = $_POST['name'];
$email_field = $_POST['email'];
$message = $_POST['message'];

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

echo "Data has been submitted to $to!";
mail($to, $subject, $body);

} else {

echo "blarg!";

}
?>


instead of:

echo "Data has been submitted to $to!";

just

echo '<script type="text/javascript">alert("Data has been submitted to ' . $to . '");</script>';


You can echo Javascript in a <script></script> block in your PHP. The browser will then execute it.

So for example:

<?php
     echo "<script language='javascript'>alert('thanks!');</script>"; 
?>


You just need to output the HTML/JS. Something like this:

<?php
    if(isset($_POST['submit'])) {
        $to = "mjleppan@hotmail.com";
        $subject = "Form Tutorial";
        $name_field = $_POST['name'];
        $email_field = $_POST['email'];
        $message = $_POST['message'];

        $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

        mail($to, $subject, $body);
        echo "<script type=\"text/javascript\">alert('Thank you form is submitted');</script>";
    } else {
        echo "blarg!";
    }
?>

alternatively:

<?php
    if(isset($_POST['submit'])) {
        $to = "mjleppan@hotmail.com";
        $subject = "Form Tutorial";
        $name_field = $_POST['name'];
        $email_field = $_POST['email'];
        $message = $_POST['message'];

        $body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message";

        mail($to, $subject, $body);
?>
    <script type="text/javascript">alert('Thank you form is submitted.');</script>
<?php
    } else {
        echo "blarg!";
    }
?>

However, it sounds like you maybe don't want to have the page reload between submitting the form and giving the user the confirmation. For that you'd need to submit the form via AJAX. I recommend looking into JQuery. It makes this easy.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号