通过js实现单击或双击直接修改内容

weednoah

关注

阅读 83

2022-10-14

span标签:
<span class="text-info" id="pay_type" οndblclick='edit(this,this.id)'>{if !empty($data['pay_type'])}{$data['pay_type']}{else /}双击文字修改{/if}</span>
js代码:
function edit(element,datas){
var datas = datas;
 var oldhtml = element.innerHTML;//获得元素之前的内容
 var newobj = document.createElement('input');//创建一个input元素
 newobj.type = 'text';//为newobj元素添加类型
newobj.value=oldhtml;
 element.innerHTML = '';   //设置元素内容为空
 element.appendChild(newobj);//添加子元素
 newobj.focus();//获得焦点
//设置newobj失去焦点的事件
 newobj.onblur = function(){
//下面应该判断是否做了修改并使用ajax代码请求服务端将id与修改后的数据提交 name=John&location=Boston
var name = newobj.value;
// alert("id="+{$id}+"&"+datas+"="+name);
$.ajax({ type: "POST",
url: "/admin/order/design_update.php",
data: "id="+{$id}+"&"+datas+"="+name,
dataType: "json",
success: function(msg){
if(msg==1){
alert('修改成功');
}else{
alert('修改失败');
} }
});
//当触发时判断newobj的值是否为空,为空则不修改,并返回oldhtml
element.innerHTML = this.value ? this.value : oldhtml;
}
}

精彩评论(0)

0 0 举报