2011-08-18 4 views
0

성공적으로 제출할 때 기본 자바 스크립트 팝업 창을 사용하여이 양식을 "제출 됨"으로 표시하려면 어떻게해야합니까?제출 성공시 양식 팝업 가져 오기

<!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 whatever'라고 쓰고 자바 스크립트를 사용하여 다시 작성할 수 있습니다. – mozillanerd

답변

0

기본적인 예 : subscribe.php에서

변경 :

else{ 
    echo var success; 
} 

행 :

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

다음과 같은 오류가 발생합니다. 구문 분석 오류 : 구문 오류, 예기치 않은 T_STRING, ','또는 ';' – user886187

+0

변경 'echo'

제출이 완료되었습니다.

';''에코 "<몸의 온로드 = \"경고에 ('제출 '); \ ">

제출 성공

.";' –

+0

내 나쁜 - 구문 오류입니다. 고마워요 @RobinWinslow. –

0

@ user886187의 솔루션은 제출시 페이지를 다시로드 한 다음 페이지가 다시로드 될 때 JavaScript 팝업을 표시합니다.

양식을 제출 한 다음 페이지를 다시로드하지 않고도 팝업을 표시하고자 할 수 있습니다. 이 경우 당신이 아약스를 통해 양식을 제출하고 경고 할 필요가 콜백 함수에서 "제출"
http://net.tutsplus.com/tutorials/javascript-ajax/submit-a-form-without-page-refresh-using-jquery/

+0

예제와 함께 작동하는 코드가 필요합니다. – user886187

+0

직접 작업하는 방법을 배우기보다는 작업을 수행하고 싶습니다. 질문에 현상금을 추가하는 것이 좋습니다. –

0

넣어 : 여기

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

Ajax를 통해 양식을 제출하는 방법에 대한 자습서입니다 당신의 subcribe.php

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

이 코드와

<head> 

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

</head> 
formPage.php

의 머리 내부 코드
관련 문제