2009-10-22 2 views
6

私はPHPでコード化していませんが、私はこのフォームを持っています。 、 "ありがとうフォームが提出された"と言って、簡単な警告ボックス。フォームがこのmailer.phpファイルで受信された後。PHPからJavaScriptアラートを表示するにはどうすればよいですか?

あなたのPHPで <script></script>ブロックですることはでき echo Javascriptを
<?php 
if(isset($_POST['submit'])) { 

$to = "[email protected]"; 
$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!"; 

} 
?> 
+2

LOL @記述的なエラーメッセージです...それは* PHPです。 –

+1

注:アラートボックスを使用できるという理由だけでは、必要ではありません。 –

答えて

19

の代わり:

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

だけ

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

。ブラウザはそれを実行します。

したがって、たとえば:

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

あなただけの出力にHTML/JSを必要としています。このような何か:代わり

<?php 
    if(isset($_POST['submit'])) { 
     $to = "[email protected]"; 
     $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!"; 
    } 
?> 

:あなたは多分フォームを送信し、ユーザーに確認を与えるとの間にページのリロードをしたくないよう

<?php 
    if(isset($_POST['submit'])) { 
     $to = "[email protected]"; 
     $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!"; 
    } 
?> 

しかし、それが聞こえます。そのためには、AJAX経由でフォームを提出する必要があります。私はJQueryを調べることをお勧めします。それはmakes this easyです。

関連する問題