首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我的ajax AutoSave不能工作?

为什么我的ajax AutoSave不能工作?
EN

Stack Overflow用户
提问于 2011-07-28 05:22:27
回答 3查看 333关注 0票数 0

我正在使用这个页面上的脚本:http://jetlogs.org/2007/11/11/auto-saving-with-jquery/自动保存我的表单。我只想保存表单的文本区域。相关代码如下:

代码语言:javascript
复制
<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>

下面是PHP:

代码语言:javascript
复制
<?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看起来几乎不起作用,因为我在表单所在的页面上看不到任何显示更改或错误消息。

有什么想法吗?谢谢!

EN

回答 3

Stack Overflow用户

发布于 2011-07-28 05:26:19

您的文本区域的id为elm1

代码语言:javascript
复制
<textarea id="elm1" name="comments" rows="15" cols="80" style="width: 80%">

但是你试图通过

代码语言:javascript
复制
$("#comments")

更改为

代码语言:javascript
复制
$("#elm1")

代码语言:javascript
复制
$("[name=comments]")
票数 5
EN

Stack Overflow用户

发布于 2011-07-28 05:27:06

你的文本区域的id不是“评论”。并且您正在使用id选择器$("#id");

票数 1
EN

Stack Overflow用户

发布于 2011-07-28 05:30:13

两件事:

变化

代码语言:javascript
复制
 var comments = $("#comments").val();

代码语言:javascript
复制
 var comments = $("#elm1").val();

并关闭您的textarea元素:

代码语言:javascript
复制
</textarea>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6851395

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档