插入/编辑JS jQuery

时间:2010-02-06 21:15:23

标签: jquery insert javascript

我有这个脚本:

<?
$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并且这样做了,所以错误必须在这个脚本的某个地方。

希望你们能帮助我。谢谢。

1 个答案:

答案 0 :(得分:0)

这是因为你没有定义你的http var。你错过了类似的东西:

var http = new XMLHttpRequest();