Return to Snippet

Revision: 1536
at October 18, 2006 07:08 by danideu


Initial Code
// requires prototype.js
function edit(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(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(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 = 'ajax.php?a=save_title';
     var pars = 'id=' + chunkid + '&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);
 }

Initial URL

                                

Initial Description

                                

Initial Title
Editar con AJAX

Initial Tags
ajax, javascript, xml

Initial Language
JavaScript