⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clickedit.js

📁 网络硬盘_支持1GB文件上传和续传_无错版
💻 JS
字号:
/******************************************
* Edit in place
******************************************/
var url='ajax.php';
var tmpTag=new Array();
var tmpStore=new Array();
function makeEditable(id){
    tmpTag[id] = $(id).innerHTML?1:0;
    $(id).innerHTML=$(id).innerHTML?($(id).innerHTML):'Click here to edit!';
	Event.observe(id, 'click', function(){edit($(id))}, false);
	Event.observe(id, 'mouseover', function(){showAsEditable($(id))}, false);
	Event.observe(id, 'mouseout', function(){showAsEditable($(id), true)}, false);
}

function edit(obj){
	Element.hide(obj);
    tmpStore[obj.id]=obj.innerHTML;

	var textarea = '<div id="'+obj.id+'_editor"><textarea id="'+obj.id+'_edit" name="'+obj.id+'" rows="2" cols="30">'+(tmpTag[obj.id]==0?'':trim(obj.innerHTML))+'</textarea>';
	var button	 = '<div style="align:center;"><input id="'+obj.id+'_save" type="button" class=button value="SAVE" /> OR <input id="'+obj.id+'_cancel" type="button" class=button value="CANCEL" /></div></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);
}

function showAsEditable(obj, clear){
	if (!clear){
		Element.removeClassName(obj, 'editable');
	}else{
		Element.addClassName(obj, 'editable');
	}
}
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 pars = 'id='+obj.id+'&mode=split&content='+new_content;
	var myAjax = new Ajax.Request(url, {method:'post', postBody:pars, onSuccess:success, onFailure:failure});

}

function cleanUp(obj, keepEditable){
	Element.remove(obj.id+'_editor');
	Element.show(obj);
	if (!keepEditable) showAsEditable(obj, true);
}

function editComplete(t, obj){
	obj.innerHTML	= t.responseText;
    tmpTag[obj.id] = obj.innerHTML?1:0;
    obj.innerHTML=obj.innerHTML?obj.innerHTML:'Click here to edit!';
	showAsEditable(obj, true);
}

function editFailed(t, obj){
	alert('Sorry, the update failed.');
    obj.innerHTML   =  tmpStore[obj.id];
	cleanUp(obj,0);
}
function trim(inputString) {

   if (typeof inputString != "string") { return inputString; }
   var retValue = inputString;
   var ch = retValue.substring(0, 1);

   while (ch == " ") {
      retValue = retValue.substring(1, retValue.length);
      ch = retValue.substring(0, 1);
   }
   ch = retValue.substring(retValue.length-1, retValue.length);

   while (ch == " ") {
      retValue = retValue.substring(0, retValue.length-1);
      ch = retValue.substring(retValue.length-1, retValue.length);
   }

   while (retValue.indexOf("  ") != -1) {
      retValue = retValue.substring(0, retValue.indexOf("  ")) + retValue.substring(retValue.indexOf("  ")+1, retValue.length);
   }
   return retValue;
}

/******************************************
* Edit in place
******************************************/
function populateValue(act,id,formname,hasval)
{
    $(formname).id.value = id;
    $(formname).act.value = act;

    if(act+'_'+id)
    {
        $(formname).edits.value = hasval==0?'':unhtmlspecialchars($(act+'_'+id).innerHTML);
    }

    return overlay($(act+'_'+id), formname+'_div')
}
function clickEditValue(act,id,formname)
{
    var hasval = $(act+'_'+id).innerHTML!='';
    if($(act+'_'+id).innerHTML=='') $(act+'_'+id).innerHTML='Click here to edit!';
    Event.observe(act+'_'+id, 'click', function(){ return populateValue(act,id,formname,hasval)}, false);
}
function clickEditValues()
{
    for (var i=2; i<arguments.length; i++)
    {
        clickEditValue(arguments[i],arguments[0],arguments[1])
    }
}
function submitComplete(res, formname)
{
    var act = $(formname).act.value;
    var id = $(formname).id.value;
    $(act+'_'+id).innerHTML	= res.responseText=='' ? 'Click here to edit!' : res.responseText;
    overlayclose('clickeditform_div');
    return false;
}

function submitFailed(res, obj){
	alert('Sorry, the update failed.');
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -