2010-02-06 89 views
1

我有這樣的腳本:插入/編輯JS jQuery的

<? 
$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> 

這個腳本這樣做,當你點擊跨度文本($行[感到])這將使其對一個輸入,然後,你會能夠編輯文本,然後當你按下其他地方時,它將保存。 這工作之前,但由於某種原因,它現在不工作,我想我意外刪除了一些東西..而我不能找到我做錯了什麼。 它沒有發送正確(它應該發送像editsave.php?tekstny =新價值你在這裏編輯)

我檢查了editsave.php和那個作品,所以錯誤必須在這個腳本的某處。

希望你們能幫助我。謝謝。

回答

0

這是因爲你沒有定義你的http var。你錯過了這樣的東西:

var http = new XMLHttpRequest(); 
+0

謝謝!我愛stackoverflow.com!最好的網站,最好的用戶,以及真正快速和有用的答案.. – Karem 2010-02-06 21:29:04