我有这个脚本:
<?
$query = mysql_query("SELECT * FROM azzdk") or die(mysql_error());
$row = mysql_fetch_array($query);
?>
<p>
<script language="JavaScript">
function myEditable(e, act) {
if (act == 'click') {
// lav indholdet af span om til et input felt og sæt et onblue event på den
e.innerHTML = '<input type="text" value="'+e.innerHTML+'" onblur="myEditable(this, \'edit\')" />';
// fjern span onclick eventen
e.onclick = null;
} else if (act == 'edit') {
var nocache = 0;
// hent span elementet igen
var parentElement = e.parentNode;
// Opdater span teksten, e.value er den nye værdi
parentElement.innerHTML = e.value;
nocache = Math.random();
var tekstny= e.value;
http.open('get', 'editsave.php?tekstny='+tekstny+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
// placer onclick eventen igen på span elementet
(function(e){
e.onclick = function()
{
myEditable(e, 'click');
};
})(parentElement);
}
function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
// else if login is ok show a message: "Site added+ site URL".
document.getElementById('insert_response').innerHTML = response;
}
}
}
</script>
<p>
<h1><div align="center"><span onclick="myEditable(this, 'click');"><?=$row["felt"]; ?></span></h1></div>
</p> <div id="insert_response">Respons: </div>当您单击该跨度文本( $rowfelt )时,此脚本会将其转换为输入,然后,您将能够编辑该文本,然后当您按下其他位置时,它将被保存。这是以前的工作,但由于某些原因,它现在不工作,我想我不小心删除了一些东西..我找不到我哪里做错了。它不能正确发送(它应该像editsave.php?tekstny=THE一样发送你在这里编辑的新值)
我已经检查了editsave.php,它工作正常,所以错误一定在这个脚本中的某个地方。
希望你们能帮帮我。谢谢。
发布于 2010-02-07 05:22:36
这是错误的,因为您没有定义您的http变量。你遗漏了一些东西,比如:
var http = new XMLHttpRequest();https://stackoverflow.com/questions/2214763
复制相似问题