Php 如果表单试图使用jquery来ajax,为了避免浏览器刷新,只需使用$theu消息字段就有问题
我希望避免浏览器刷新,只显示消息而不显示浏览器刷新Php 如果表单试图使用jquery来ajax,为了避免浏览器刷新,只需使用$theu消息字段就有问题,php,javascript,jquery,Php,Javascript,Jquery,我希望避免浏览器刷新,只显示消息而不显示浏览器刷新 $idc = $_GET['id']; $name1 = $_GET['name']; $id2 = $_GET['ids']; if ($_POST['message_field'] != ""){ $message_field = $_POST['message_field']; $sql = mysql_query("INSERT INTO comment (mem_
$idc = $_GET['id'];
$name1 = $_GET['name'];
$id2 = $_GET['ids'];
if ($_POST['message_field'] != ""){
$message_field = $_POST['message_field'];
$sql = mysql_query("INSERT INTO comment (mem_id,commented_men_id, message, message_date)
VALUES('$userid','$idc','$message_field', now())")
or die (mysql_error());
}
$sql_message = mysql_query("SELECT id, mem_id ,message, message_date FROM comment WHERE mem_id='$userid' ORDER BY message_date DESC");
while($row = mysql_fetch_array($sql_message)){
$id = $row["id"];
$me_id = $row["mem_id"];
$json = $row["message"];
$message_date = $row["message_date"];
$message = json_encode($json);
$sql_mem_data = mysql_query("SELECT id, name FROM users WHERE id='$me_id'");
while($row2 = mysql_fetch_array($sql_mem_data)){
$id = $row2["id"];
$ufirstname = $row2["name"];
}
$messageList .= '<div id="only"><p>' . ufirstname . '</p><br/><p id="pmessage">'.$the_message.'</p></div>';
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Book</title>
<link rel="stylesheet" href="style/style.css" type="text/css" media="screen" />
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.form.js"></script>
<script type="text/javascript" src="mootools-core-1.3.2-full-compat.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#messageinput").click(function() {
$.post($('#message').attr("action"),
$("#message").serialize(),
function(html) {
var comment = $(html) .find('#messageoutput').html();
$("#pmessage").html(comment);
});
});
});
</script>
<div id="messageid">
<form align="left" id="message" action="<?php profile.php?id='.$idc.'& ids='. $id2.'&name='.$name1.'?>" method="post" enctype="multipart/form-data" name="blab_from">
<textarea name="message_field" rows="3" style="width:97%;"></textarea>
<input id="messageinput" name="submit" type="button" value="submit" align="left" />
</form>
</div>
<div id="messageoutput"><?php print "$messageList"; ?></div>
您需要阻止默认提交操作才能使用
preventDefault
<script type="text/javascript">
$(document).ready(function(){
$("#messageinput").click(function(e) {
e.preventDefault();
$.post($('#message').attr("action"),
$("#message").serialize(),
function(html) {
$("#pmessage").html(html);
}
);
});
</script>
$(文档).ready(函数(){
$(“#消息输入”)。单击(函数(e){
e、 预防默认值();
$.post($('#message').attr(“操作”),
$(“#消息”).serialize(),
函数(html){
$(“#pmessage”).html(html);
}
);
});
另外,请结束脚本标记我想避免浏览器刷新现在提交的评论,但它会在id#pmessage中重复整个站点,而不是仅显示消息。这会导致整个站点在#pmessage中打印加倍。而不是仅在id#pmessage中打印消息d标记打印的所有内容都在#pmessage中的html标记中,就像重复整个内容一样。当我只需要消息只显示整个站点时,这个名为#pmessage的id标记中没有显示整个站点。可能会发生什么事?之所以会发生这种情况,是因为您使用同一个文件作为post的目标。那么,您可以使用不同的文件来保存内容吗数据库中的信息,它将只打印成功消息。例如,创建另一个名为
save_profile.php
的文件,该文件将包含数据库保存部分,并在表单操作中使用它。好的,在该文件中,我应该查询消息,而不是在同一文件中查询?我的意思是,如果我将在save_profile.phpTApos中选择查询,我将要在此新文件中插入和选择?
<script type="text/javascript">
$(document).ready(function(){
$("#messageinput").click(function(e) {
e.preventDefault();
$.post($('#message').attr("action"),
$("#message").serialize(),
function(html) {
$("#pmessage").html(html);
}
);
});
</script>