2011-08-18 123 views
0

如何在成功提交時使用基本JavaScript彈出窗口顯示「已提交」表單?成功提交後獲取表單彈出

<!DOCTYPE html> 
<html> 
<head> 
    <title>Site :: </title> 
    <link rel="stylesheet" media="screen" href="css/wicahost.css" /> 
    <link rel="stylesheet" media="screen" href="css/global.css" /> 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.js"></script> 
    <?php require_once('inc/php/clearfieldJs.php'); ?> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
    $("#splashtease").RSV({ 
     rules: [ 
     "required,emAdd,Please enter your email address.", 
     "valid_email,emAdd,Please enter a valid email address.", 
     ] 
    }); 
}); 
    </script> 
</head> 

<body> 
    <script src="http://www.benjaminkeen.com/software/rsv/jquery/jquery.rsv.js"></script> 
    <div id="splashTeaserBox"> 
    <h1 class="wicasplashcenter">Signup!</h1> 
    <div class="wicasplashcenter">Captivating interests and inspiring collaboration.</div> 
    <form id="splashtease" action="inc/subscribe.php" method="post"> 
    <?php $usrBrowser = $_SERVER['HTTP_USER_AGENT']; $todayDt = date('Y-m-d'); ?> 
     <input type="text" name="emAdd" class="splashtease" value="Your Email Address ..." onFocus="clearText(this)" /> 
     <input type="hidden" name="brwsr" value="<?php echo $usrBrowser; ?>" style="margin:0; padding:0;" /> 
     <input type="hidden" name="dt" value="<?php echo $todayDt; ?>" style="margin:0; padding:0;" /> 
     <input type="submit" name="submit" value="" class="splashteasesub" /> 
    </form> 
</div><!--splashTeaserBox--></body> 
</html> 

PHP

<?php 
$host="localhost"; // Host name 
$username="root"; // Mysql username 
$password=""; // Mysql password 
$db_name="dnbame"; // Database name 
$tbl_name="subscriber"; // Table name 

// Connect to server and select databse. 
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB"); 

/* Obliterate bad input */ 
$goodEmail = mysql_real_escape_string($_POST['emAdd']); 
$goodBrowser = mysql_real_escape_string($_POST['brwsr']); 
$goodDate = mysql_real_escape_string($_POST['dt']); 


$sql= "INSERT INTO subscriber (Email, Browser, DateSubscribed) VALUES('$goodEmail','$goodBrowser','$goodDate')"; 

$result = mysql_query($sql); 
if (!$result) { 
    die('Invalid Email, please retry.'); 
} 
else{ 
    echo var success; 
} 

?> 
+0

您的php正在輸出'var success',這似乎是錯誤的。所以通常情況下,服務器只響應請求,而echo輸出是成功提交時的響應。通常情況下,響應是一個新頁面,您可以在其中測試您在'echo whatever'中編寫的任何內容,並使用JavaScript重寫。 – mozillanerd

回答

0

一個基本的例子:

在subscribe.php,變化:

else{ 
    echo var success; 
} 

到:

else { 
    echo "<html><body onload=\"alert('Submitted');\"><p>Submission successful.</p></body></html>"; 
} 
+0

這引發錯誤:解析錯誤:語法錯誤,意外的T_STRING,期待','或';' – user886187

+0

change'echo'

提交成功。

';''到回聲 「<體的onload = \」 警報(' 提交'); \ 「>

提交成功

。」;' –

+0

我的壞 - 語法錯誤。謝謝@RobinWinslow。 –

0

@ user886187的解決方案將在提交時重新加載頁面,然後在頁面重新加載時顯示JavaScript彈出窗口。

您可能希望提交表單,然後在不重新加載頁面的情況下顯示彈出窗口。在這種情況下,你需要通過Ajax提交表單,然後通知在回調函數「提交」:

function callback() { 
    alert('submitted'); 
} 

下面是關於如何通過Ajax提交表單的教程:
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

+0

我需要與我的例子一起工作的代碼。 – user886187

+0

因此,您希望爲您完成這項工作,而不是學習如何自己完成。我建議你給這個問題增加賞金。 –

0

放這段代碼在你的subcribe.php

else { 
header ('Location: formPage.php?message=Success'); 
} 

,並在代碼裏formPage.php

<head> 

<?php if ($_GET['message']) {echo '<script type="text/javascript">alert("Form Submited Successfully");</script>';} ?> 

</head> 
的頭