2010-02-06 4 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을 사랑해 !! 최고의 devolped 사이트, 최고의 사용자, 그리고 정말 빠르고 유용한 답변 .. – Karem