Php 为什么赢了';我的ajax自动保存工作失败了吗?

Php 为什么赢了';我的ajax自动保存工作失败了吗?,php,javascript,jquery,ajax,Php,Javascript,Jquery,Ajax,我正在使用此页面上的脚本:自动保存我的表单。我只是想保存表单的文本区域。以下是相关代码: <head> <script type="text/javascript"> $(document).ready(function(){ autosave(); }); function autosave() { var t = setTim

我正在使用此页面上的脚本:自动保存我的表单。我只是想保存表单的文本区域。以下是相关代码:

<head>
    <script type="text/javascript">
        $(document).ready(function(){           
            autosave();
        });

        function autosave()
        {
            var t = setTimeout("autosave()", 5000);

            var comments = $("#comments").val();

            if (comments.length > 0)
            {
                $.ajax(
                {
                    type: "POST",
                    url: "autosave.php",
                    data: "rubric_id=" + <?php echo $rubricid ?> + "&student_id=" + <?php echo $studentid ?> + "&comments=" + comments,
                    cache: false,
                    success: function(message)
                    {   
                        $("#autosave_status").empty().append(message);
                    }
                });
            }
        } 
        </script> 
</head>
<body>
<div id="autosave_status"></div>
<form action='assess.php?student=146&rubric=19' method='POST'>
<textarea id="elm1" name="comments" rows="15" cols="80" style="width: 80%">
</form>
</body>

$(文档).ready(函数(){
自动保存();
});
函数autosave()
{
var t=setTimeout(“autosave()”,5000);
var comments=$(“#comments”).val();
如果(comments.length>0)
{
$.ajax(
{
类型:“POST”,
url:“autosave.php”,
数据:“量规id=“++”&学生id=“++”&注释=“+注释,
cache:false,
成功:功能(消息)
{   
$(“#自动保存_状态”).empty().append(消息);
}
});
}
} 
下面是PHP:

<?php
//include DB configuration file
  include "../../signout/database.php";


$comments = mysql_real_escape_string($_POST['comments']);
$rubric_id = (int)$_POST['rubric_id'];
$student_id = (int)$_POST['student_id'];



//save contents to database
$sql = "UPDATE rubrics_comments SET comments = '$comments' WHERE studentid = '$student_id' AND rubricid='$rubric_id'";
mysql_query($sql) or die (mysql_error());
echo $sql;



//output timestamp
echo 'Saved';

?>

似乎ajax根本不起作用,因为我在表单所在的页面上没有看到任何显示更改或错误消息


有什么想法吗?谢谢

您的textarea的id为elm1

<textarea id="elm1" name="comments" rows="15" cols="80" style="width: 80%">
改为

$("#elm1")

您的textarea的id不是“评论”。您正在使用一个id选择器
$(“#id”)

两件事:

改变

 var comments = $("#comments").val();

然后关闭textarea元素:

</textarea>


您是否尝试使用Firebug进行调试?我安装了Firebug,但不知道如何使用它进行调试。有什么提示吗?按F12查看是否有任何错误!我瞎了。谢谢你,先生!一旦答案让我接受,我就会接受。:)没问题,您应该考虑使用firebug或chrome的开发工具。这些类型的错误总是会发生,但一旦您熟悉了这些工具,就很容易发现它们。
 var comments = $("#comments").val();
 var comments = $("#elm1").val();
</textarea>