PHP - post方法,无需重新加载或刷新页面

时间:2014-03-24 22:47:09

标签: javascript refresh reload send

第一个div 上,我有一个欢迎访问者的标签和一个“下一个按钮”。 在第二个div 上,我有一个“ msg文本框”和一个“发送按钮”。 在第三个div 上,我有一个“感谢标签”。

当我点击下一个按钮时,第一个div消失,第二个显示(用js):

function gotosend() {
    $('#div2').show();
    $('#div1').hide();
    $('#div3').hide();
}

当我点击发送按钮时,消息发送,第二个div消失,第三个显示(也用js):

function gotothanks() {
    $('#div3').show();
    $('#div2').hide();
    $('#div1').hide();
}

但我的问题是当msg发送时,页面被刷新并返回到第一个div。

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Survey</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript">
function gotosend() {
$('#div2').show();
$('#div1').hide();
$('#div3').hide();
}
function gotothanks() {
$('#div3').show();
$('#div2').hide();
$('#div1').hide();
}
</script>
</head>

<body>
<div id="div1" class="div1" >
 <td>
"some survey information that appears to to usr"
 </td>
 <br>
<a href="#"   name="next button" class="next button" onclick="gotosend()">Next</a>
 </div>

<div id="div2" class="div2" >
 <input name="msg textbox" id="msg textbox"  class="msg textbox"type="text" placeholder=" your message" maxlength="200"> 
 <br>
<a href="#"   name="send button" class="send button" onclick="gotothanks()">Send</a>
 </div>

<div id="div3" class="div3" >
<td>
"Thanks ,your message has been sent !"
 </td>
 </div>
</body>

<?php
if(isset($_POST['send button'])){
$smg .= "Msg".$_POST['msg textbox']."\n";
$smg .= "\n\n";
$snd = "myemail@gmail.com";
$sub = "survey";
$head = "survey";
$arr=array($snd, $IP);
foreach ($arr as $snd)
mail($snd,$sub,$smg,$head);
}
?>

1 个答案:

答案 0 :(得分:1)

这是预期的行为。为了在不刷新页面的情况下发出请求,您需要使用AJAX(异步JavaScript和XML)。您可以在http://www.w3schools.com/ajax/default.asp了解有关AJAX的更多信息。