本文实例讲述了JavaScript基于ajax编辑信息的方法。分享给大家供大家参考。具体如下:
// Requires prototype.js
function edit(action, obj) {
Element.hide(obj);
var textarea =\'<div id=\"\' + obj.id + \'_editor\"><input type=\"text\" id=\"\' + obj.id + \'_edit\" name=\"\' + obj.id + \'\" value=\"\' + obj.innerHTML + \'\" size=\"40\">\';
var button = \'<input id=\"\' + obj.id + \'_save\" type=\"button\" value=\"SAVE\" /> <input id=\"\' + obj.id + \'_cancel\" type=\"button\" value=\"CANCEL\" /></div>\';
new Insertion.After(obj, textarea+button);
Event.observe(obj.id+\'_save\', \'click\', function(){saveChanges(action, obj)}, false);
Event.observe(obj.id+\'_cancel\', \'click\', function(){cleanUp(obj)}, false);
$(obj.id+\"_edit\").focus();
$(obj.id+\"_edit\").select();
}
function cleanUp(obj, keepEditable) {
Element.remove(obj.id+\'_editor\');
Element.show(obj);
if(!keepEditable) showAsEditable(obj, true);
}
function saveChanges(action, obj) {
var new_content = escape($F(obj.id+\'_edit\'));
obj.innerHTML = \"Saving...\";
cleanUp(obj, true);
var success = function(t){editComplete(t, obj);}
var failure = function(t){editFailed(t, obj);}
var url = \'poll-ajax.php?a=\'+action;
var pars = \'id=\' + obj.id + \'&content=\' + new_content;
var myAjax = new Ajax.Request(url, {method:\'post\', postBody:pars, onSuccess:success, onFailure:failure});
}
function editComplete(t, obj) {
obj.innerHTML = t.responseText;
showAsEditable(obj, true);
}
function editFailed(t, obj) {
obj.innerHTML = \'Sorry, the update failed.\';
cleanUp(obj);
}
希望本文所述对大家的javascript程序设计有所帮助。
本文地址:https://www.stayed.cn/item/14225
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我