2011-08-18 138 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> 
的头