javascript实现点击文本出现文本编辑状态,移开后变成文本
来源:互联网 发布:淘宝卖家申请电子发票 编辑:程序博客网 时间:2024/06/13 09:23
javascript代码如下:
//获得初始文本,设置为隐藏,然后判断是否已有输入域,如果没有则创建输入框 function hiddenEle(id) { var titleP = document.getElementById("item_" + id); titleP.style.display = "none"; if (!document.getElementById("title_input_" + id)) { buildEditDiv(titleP.parentNode, id); } } //创建输入框和保存按钮 function buildEditDiv(titleDiv, id) { var editText = document.createElement("input"); var titleP = document.getElementById("item_" + id); var oldTitle = titleP.firstChild.data; editText.setAttribute("class", "newItemTitle"); editText.setAttribute("type", "text"); editText.value = oldTitle; editText.name = id; editText.id = "title_input_" + id; titleDiv.appendChild(editText); var submitButton = document.createElement("button"); submitButton.appendChild(document.createTextNode("保存")); submitButton.id = "title_button_" + id; submitButton.onclick = function () { ajaxChangeTitle(id, oldTitle, editText.value); return false; } //这里输入框失去焦点后,设置了等待时间200ms才执行删除input和button操作,主要是为了在删除input之前,在button的onclick动作中能获得input的新值。 editText.onblur = function () { setTimeout(function () { titleDiv.removeChild(submitButton); titleDiv.removeChild(titleDiv.lastChild); titleDiv.removeChild(editText); titleP.style.display = ""; }, 200); } titleDiv.appendChild(submitButton); editText.focus(); } function ajaxChangeTitle(id, oldTitle, newTitle) { var titleP = document.getElementById("item_" + id); titleP.firstChild.data = newTitle; if(newTitle!=null && newTitle!="") { if(oldTitle!=newTitle) { editClub(id,newTitle); } } else { alert("不能为空"); window.location.reload(); } } function showBgColor(ele) { ele.setAttribute("class", "itemTitleBg_c"); } function hiddenBgColor(ele) { ele.setAttribute("class", "itemTitleBg"); } function showEle(id) { var titleP = document.getElementById("item_" + id); if (document.getElementById("title_input_" + id)) { var text = document.createElement("span"); text.value= titleP.firstChild.data ; var titleDiv = titleP.parentNode; titleDiv.appendChild(text); } }function editClub(id,newTitle){ var str =id+','+newTitle;//alert(str); clubDwr.updateClub(str,editClubResult);}function editClubResult(result){if(result==1){//alert("编辑成功");}else if(result ==0){alert("该名称已经存在");window.location.reload();}else if(result == -1){alert("未知错误");window.location.reload();}}
<script type='text/javascript' src='./leedwr/engine.js'> </script><script type='text/javascript' src='./leedwr/util.js'></script><script type='text/javascript' src='./leedwr/interface/clubDwr.js'></script><script type='text/javascript' src="js/dwr/clubDwr.js"></script><td class="bottom_line" align="left" width="60%"> <span id="item_<s:property value="id"/>" class="itemTitleBg" onmouseover="showBgColor(this)" onmouseout="hiddenBgColor(this),showEle('<s:property value="id"/>')" title="编辑" onclick="hiddenEle('<s:property value="id"/>');" > <s:property value="name"/></span> </td>
- javascript实现点击文本出现文本编辑状态,移开后变成文本
- 实现点击文本,变成文本框可输入
- QtQuick实现文本编辑和显示文本行号
- 点击文字变成可编辑的文本
- 实现文本可点击
- 点击文本实现排序
- jQuery实现文本域提示文字点击后消失
- QtQuick实现文本编辑和显示文本行号-改进版
- jquery实现文本点击修改
- 文本对比。文本编辑距离算法
- 纠结了一晚上的问题---点击导航栏的一个文本链接后所有导航栏文本链接颜色都变成访问过的颜色了
- javascript 点击复制textare里的文本
- js--easyUI----jQuery easyui datagrid 点击某个单元格即进入编辑状态,焦点移开后,保存数据
- javascript 设置input文本为选中状态
- JavaScript实现竖直文本滚动
- 用js实现文本点击搜索,文本高亮显示
- 文本输入框中的提示点击消失,点击出现
- javascript 单击按钮出现文本内容
- Erlang在linux上的安装
- TimeZone里的daylight savings
- 远程桌面长时间不自动断开和增加同时在线用户数
- 项目管理PMP输入输出ITTO联系记忆
- STL之list基础
- javascript实现点击文本出现文本编辑状态,移开后变成文本
- C#获取系统文件、文件夹和磁盘驱动器图标
- 删除大表中的字段
- iOS真机调试遇到No such file or directory的问题
- Windows线程同步之临界区对象(Critical Section)
- 大师学习系列——Steve McConnell
- JAVA文件操作大全(删除,复制)
- pig 部署
- centos5.8安装postgresql以及python模块psycopg2