Ben php üzerinden bir tabloda görüntülenir mysql bir kaydı silmek için kod var, ve sonradan sayfasından tablo satırı silin. Kayıt, ancak hiçbir sayfa veya DOM değiştirir, silinir, ve anında değiştirmek gerekir.
İşte DOM silmek için javascript kodu
function deleteItem(layer, url) {
var xmlHttp=GetXmlHttpObject();
if(xmlHttp==null) {
alert("Your browser is not supported?");
}
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState==4 || xmlHttp.readyState=="complete") {
if(xmlHttp.responseText == 'result=true') {
var row = document.getElementById(layer);
row.parentNode.removeChild(row);
}
} else if (xmlHttp.readyState==1 || xmlHttp.readyState=="loading") {
document.getElementById(layer).innerHTML="loading";
}
}
xmlHttp.open("GET",url,true);
xmlHttp.send(null);
}
function deleteRec(layer, pk) {
url = "get_records.php?cmd=deleterec&pk="+pk+"&sid="+Math.random();
if (confirm("Confirm Delete?")) {
deleteItem(layer, url);
}
}
Böylece gibi php denir ki:
echo '<tr id=\"article_' . $pk . '\">' . "\n";
echo '<td><a href="#" onclick="deleteRec(\'article_' . $pk .'\', \'' . $pk . '\')">DELETE</a></td>' . "\n";
$ Pk kaydın birincil anahtardır.
Oluşan html (tabii ki kayıt silinir beri) ince
<a href="#" onclick="deleteRec('article_260343387801', '260343387801')">DELETE</a>
Ancak sayfa herhangi bir şekilde güncellenmiş değil.
Neden?