php - 自动保存 ajax, php

标签 php javascript ajax prototypejs

我正在尝试使用原型(prototype)和 PHP 创建一个自动保存功能,但它不起作用。

如果我将 $('txtdoc').value 更改为 "any text",则 "any text" 将在没有任何内容的情况下保存数据库问题

JS

document.observe("dom:loaded", function() { 
               intervalID = window.setInterval("autosave()",1000);
              });

              function autosave() {
                 new Ajax.Request('autosave.php?id=<?php echo $_GET["id"];?>', 
                { 
                method: 'post',
                  parameters: {txtdoc: $('txtdoc').value},

                                });
                            }

autosave.php

<?php 
include '../../db.php'; 

if(isset($_POST["txtdoc"])){
$did = mysql_real_escape_string($_GET["id"]);
$txtdoc = mysql_real_escape_string($_POST["txtdoc"]);
$sql="UPDATE doc SET txt = '$txtdoc' WHERE id = '$did'";
mysql_query($sql); 
}

?>

表格

<form action="" method="post">
<textarea id="txtdoc" name="txtdoc" style="width:605px; height:200px;"><?php echo $txt; ?></textarea>
<input type="submit" value="Save"/>
</form>

<script>
autosave();
</script>

最佳答案

如果您正在使用原型(prototype),那么(除非您有它不起作用的原因)您最好还是使用它...

创建一个隐藏的div:

<div id="dummy" style="display: none"></div>

然后试试这个:

document.observe('dom:loaded', function() {
  new Ajax.PeriodicalUpdater(
    'dummy',
    'autosave.php?id=<?php echo $_GET["id"];?>', {
      method: 'post',
      parameters: {
        txtdoc: $F('txtdoc')
      }
    }
  , 10)
});

这样做是使用 PeriodicalUpdater(每 10 秒触发一次)来调用您的 PHP 脚本。使用$F(统一字段读取器方法)读取参数。

此外,我注意到参数后面有一个逗号:object。这将在 IE 上失败,因为它不允许尾随逗号。

关于php - 自动保存 ajax, php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4518015/

相关文章:

php - 如何使用 php 运行具有多个创建命令的 sql 文件,而无需手动解析 sql 文件?

JavaScript 无法在 Firefox 中运行 : undefined variables?

javascript - Fancybox 不工作,如何让 Overlay 工作

javascript - 在 xul 插件中将字节数组转换为输入流

javascript - 如何检索 textarea 的当前值?可以使用哪种方法代替 $ ("form").submit(function(){ ?

java - Web 应用程序的两个客户端之间的通信

php - JQuery AJAX 淡入内容

php - 使用 flashvars 将 php 变量发送到 flash

php - Yii2 注销特定用户

php - 剥离文本并用 php 替换 <p> 与/n