我有这个脚本:
<?
$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>
当你单击该跨度文本($ row [felt])时,这个脚本会这样做,它会进入输入然后,你将能够编辑文本,然后当你按下其他地方它会保存。 这之前有用,但由于某种原因它现在不起作用,我想我意外地删除了一些东西..而且我无法找到我做错的地方。 它没有发送正确(它应该发送像editsave.php?tekstny =你在这里编辑的新价值)
我已经检查了editsave.php并且这样做了,所以错误必须在这个脚本的某个地方。
希望你们能帮助我。谢谢。
答案 0 :(得分:0)
这是因为你没有定义你的http var。你错过了类似的东西:
var http = new XMLHttpRequest();