[英]Why won't my ajax AutoSave work?
我正在使用在此頁面上找到的腳本: http : //jetlogs.org/2007/11/11/auto-saving-with-jquery/自動保存我擁有的表單。 我只是想保存表格的文本區域。 以下是相關代碼:
<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:
<?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%">
但是您嘗試通過
$("#comments")
改成
$("#elm1")
要么
$("[name=comments]")
您的textarea的ID不是“ comments”。 而且您正在使用id選擇器$("#id");
兩件事情:
更改
var comments = $("#comments").val();
至
var comments = $("#elm1").val();
並關閉您的textarea元素:
</textarea>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.