autosaveajax,php
我正试图用prototype和PHP创建一个autosave函数,但它不起作用 如果我将$('txtdoc')。值更改为“任意文本”,则“任意文本”在数据库中保存时不会出现任何问题 JSautosaveajax,php,php,javascript,ajax,prototypejs,Php,Javascript,Ajax,Prototypejs,我正试图用prototype和PHP创建一个autosave函数,但它不起作用 如果我将$('txtdoc')。值更改为“任意文本”,则“任意文本”在数据库中保存时不会出现任何问题 JS document.observe("dom:loaded", function() { intervalID = window.setInterval("autosave()",1000); }); function au
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},
});
}
document.observe(“dom:loaded”,function(){
intervalID=window.setInterval(“autosave()”,1000);
});
函数autosave(){
新的Ajax.Request('autosave.php?id=',
{
方法:“post”,
参数:{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);
}
?>
如果您使用的是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)
});
document.observe('dom:loaded',function(){
新的Ajax.PeriodicalUpdater(
“哑巴”,
“autosave.php?id=”{
方法:“post”,
参数:{
txtdoc:$F('txtdoc')
}
}
, 10)
});
这样做的目的是使用PeriodicalUpdater(每10秒触发一次)调用PHP脚本。使用$F(统一字段读取器方法)读取参数
另外,我注意到在parameters:object后面有一个逗号。这将在IE上失败,因为它不允许尾随逗号。请解释“不工作”是什么意思。JS是否在.php文件中(即是否由php解释器解释)?否则,行newajax.Request('autosave.php?id=',
不会给出正确的结果。.是的,JS在一个.php文件中。你能识别什么在实际工作和不工作。你的AJAX调用是否实际启动了吗?-你可以在Firebug中看到我直接在保存的代码中编写的文本,而不会在数据库中出现任何问题。但是,当我编写使用web浏览器在文本区域中编辑文本,然后不保存任何内容。
document.observe('dom:loaded', function() {
new Ajax.PeriodicalUpdater(
'dummy',
'autosave.php?id=<?php echo $_GET["id"];?>', {
method: 'post',
parameters: {
txtdoc: $F('txtdoc')
}
}
, 10)
});