点击元素可以编辑并保存到数据库

可以使用下面这个封装函数:

function cambia(element) {
    if (getBrowser() == "IE") {
        cambia_ie(element);
        return;
    }
    var oldhtml = element.innerHTML;
    //如果已经双击过,内容已经存在input,不做任何操作
    if (oldhtml.indexOf('type="text"') > 0) {
        return;
    }
    //创建新的input元素
    var newobj = document.createElement('input');
    //为新增元素添加类型
    newobj.type = 'text';
    //为新增元素添加原来的样式
    //newobj.setAttribute("style", "width:240px;height:50px;");
    //console.log(getComputedStyle(element, null).fontFamily);
    width = widthEl(element.id) + 100;
    height = heightEl(element.id) + 5;
    newobj.style.fontSize = "14px";
    newobj.style.width = width + "px";//240px
    newobj.style.height = height + "px";
    newobj.style.color = getComputedStyle(element, null).color;
    newobj.style.fontSize = getComputedStyle(element, null).fontSize;
    newobj.style.fontStyle = getComputedStyle(element, null).fontStyle;
    newobj.style.fontFamily = getComputedStyle(element, null).fontFamily;
    newobj.style.fontWeight = getComputedStyle(element, null).fontWeight;
    newobj.style.backgroundColor = getComputedStyle(element, null).backgroundColor;
    //为新增元素添加value值
    newobj.value = oldhtml;
    //为新增元素添加光标离开事件
    newobj.onblur = function () {
        element.innerHTML = this.value == oldhtml ? oldhtml : this.value;
        //当触发时判断新增元素值是否为空,为空则不修改,并返回原有值
        if (this.value != oldhtml) {
            //fieldBlur(element, element.id);
            var sid = document.getElementsByName("surveyID")[0].value;
            AjaxRequest(urlBase + "?fieldname=" + element.id + "&sid=" + sid + "&content=" + escape(this.value) + "&" + formVars);
        }
    }
    //设置该标签的子节点为空
    element.innerHTML = '';
    //添加该标签的子节点,input对象
    element.appendChild(newobj);
    //设置选择文本的内容或设置光标位置(两个参数:start,end;start为开始位置,end为结束位置;如果开始位置和结束位置相同则就是光标位置)
    //newobj.setSelectionRange(0, oldhtml.length);
    //设置获得光标
    newobj.focus();
}