【发布时间】:2014-04-29 09:09:59
【问题描述】:
我已经尝试让它工作一段时间了。
当我将新的 Ajax 内容加载到手风琴时,新内容将不起作用。预加载的内容在之前和之后都可以正常工作。 我已经添加了我的代码here 我知道你不能用 ajax 运行脚本,因为我的配置和 mysql 在本地运行。
这是我的"update-data.php":
<?php
include('../../includes/config.inc.php');
if(isSet($_POST['content']))
{
$content=$_POST['content'];
$name=$_POST['name'];
$query = "INSERT INTO messages(msg,name) VALUES ('$content','$name')";
mysqli_query($sqlCon, $query);
//mysqli_query("insert into messages(msg) values ('$content')");
$sql_in= mysqli_query($sqlCon, "SELECT msg,msg_id,name FROM messages order by msg_id desc");
$r=mysqli_fetch_array($sql_in);
$msg=$r['msg'];
$name=$r['name'];
$msg_id=$r['msg_id'];
}
?>
<div class="accordionButton"><?php echo $msg_id; ?>:<?php echo $name; ?></div>
<div class="accordionContent" style="display: block;"><?php echo $msg; ?></div>
感谢您的帮助
这里是ajax调用:
<script type="text/javascript">
$(function() {
$(".comment_button").click(function()
{
var element = $(this);
var boxval = $("#content").val();
var bval = $("#name").val();
var dataString = {content:boxval,name:bval};
if(boxval=='')
{
alert("Please Enter Some Text");
} else {
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="ajax.gif" align="absmiddle"> <span class="loading">Loading Update...</span>');
$.ajax({
type: "POST",
url: "<?php echo $total_path.'/update_data.php'; ?>",
data: dataString,
cache: false,
success: function(html){
$("div#wrapper_ac").prepend(html);
$("div#wrapper_ac .accordionButton:first").slideDown("slow");
document.getElementById('content').value='';
document.getElementById('name').value='';
$("#flash").hide();
}
});
}
return false;
});
</script>
【问题讨论】:
-
ajax 调用在哪里?
-
提供您的 javascript 代码,因为这似乎是一个 JS 问题
-
jsfiddle.net/p3n5u/1我刚刚更新了jsfiddle
-
它们是否被添加到您的数据库中?您是否在更新文件中回显您的查询并查看它是否发布正确?这不是
... VALUES ('".$content."','".$name."')";还是我错了? -
@Dorvalla 他正在使用数据库结果来输出新数据,并将其添加到 DOM 中,只是 javascript 不起作用。我认为这是由于听众的问题。
标签: javascript php jquery ajax