用javascript实现div可编辑的常见方法

功能:实现网页内容的即时编辑,增加页面的可用性、交互性。
方法1:直接通过textarea标签实现,请运行下边代码:

New Document

#info {
font-size: 12px;
overflow:hidden;
background-color: #ffffcc;
color: black;
padding-right:5px;
padding-left:5px;
font-family: courier;
width:100%;
letter-spacing:0;
line-height:12px;
border-style:none;
}

function saveInfo() {
var text = document.getElementById("info").value;
//再用ajax向数据库中更新当前修改内容
}
function setCols() {
var textarea = document.getElementById("info");
textarea.setAttribute("cols", Math.floor(textarea.clientWidth / 7));
setRows();
}
function setRows() {
var textarea = document.getElementById("info");
var cols = textarea.cols;
var str = textarea.value;
str = str.replace(/\r\n?/, "\n");
var lines = 2;
var chars = 0;
for (i = 0; i

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

思路:将textarea通过CSS样式设计成让用户感觉不像是textarea的样子,通过onblur、oumouseout等属性进行ajax保存用户数据。
方法二:通过document.createElement的方法向页面增加input来实现。请运行下边代码:

New Document

点击这里就可以编辑

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

思路:
1、当用户鼠标经过可编辑区域时,用背景色等方式提醒用户该区域可编辑。
2、当用户鼠标点击该区域时,也就是onclick事件时,先将原来的内容清掉,将临时创建出来一个输入框和一个输入按扭。
3、用户修改完后,点击“保存”按扭时通过ajax向数据库中写入新的数据。

PS:第二个方法的代码还有点问题,有空再来调试一下。

(0)

相关推荐

  • ExtJS中设置下拉列表框不可编辑的方法

    ExtJS这个框架,并没有学习和用过,只知道是一个流行的前段框架,和Easy UI,BUI,DWZ等这些框架都是差不多的,只不过比他们更加强大而已,之所以写这个,我觉得还是很有帮助的. 今天朋友遇到了一个问题:ExtJS中的下拉列表如何设置不可编辑的,html中是不可以编辑的,但是现在这种UI框架中的下拉列表框都是可以编辑的,朋友的需求就是像html中的那样效果,所以朋友想到了用editable属性,但是写了这个属性之后就报错了,当时并没有看错误,我给他找了1个属性设置为不可编辑的,但是还是不好

  • js实现的后台左侧管理菜单代码

    本文实例讲述了js实现的后台左侧管理菜单代码.分享给大家供大家参考.具体如下: 这是一个完美的后台左侧管理菜单,从样式来说,貌似出自专业人士之手,风格清新,操作实用,用在WEB管理系统中或用在网站后台管理中,最恰当不过了. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-left-main-menu-style-codes/ 具体代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Tra

  • 使用js实现一个可编辑的select下拉列表

    复制代码 代码如下: <select id="name" name="name" onkeydown="clearSelect(this,event);" onkeypress="writeSelect(this,event);" style="width:70px;"> <option value=""></option> <option va

  • JS实现可编辑的后台管理菜单功能【附demo源码下载】

    本文实例讲述了JS实现可编辑的后台管理菜单功能.分享给大家供大家参考,具体如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <he

  • 让你的网站可编辑的实现js代码

    非常的简单 一.打开你要黑的网站, 二.在浏览器的地址栏里输入: 复制代码 代码如下: javascript:document.body.contentEditable='true'; document.designMode='on'; void 0 三.现在你会发现他的页面竟然可以任由你自由修改了!! 四.按照你自己的意图修改好后,在地址栏中输入: 复制代码 代码如下: javascript:document.body.contentEditable='false'; void 0 好了,截图

  • 前台JS(jquery ajax)调用后台方法实现无刷新级联菜单示例

    前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 CasMenu.aspx页面: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Tr

  • JS实现适合于后台使用的动画折叠菜单效果

    本文实例讲述了JS实现适合于后台使用的动画折叠菜单效果.分享给大家供大家参考.具体如下: 这是一款适合于后台使用的动画折叠菜单,代码超简,无jQuery,展开与折叠效果平滑.本演示中有两组菜单,向大家展示如何在一个网页中布局两个菜单,整体效果以及兼容性还算可以,希望在实际应用中不会出现什么问题. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-ht-control-animate-zd-menu-codes/ 具体代码如下: <!DOCTY

  • JS在可编辑的div中的光标位置插入内容的方法

    本文实例讲述了js实现在可编辑div中指定位置插入内容的方法,就像我们使用的编辑器一样,分享给大家供大家参考.具体实现方法如下: 首先要让DIV启用编辑模式 复制代码 代码如下: <div contenteditable=true id="divTest"></div> 通过设定contenteditable=true开启div的编辑模式.这样DIV就可以跟文本框一样输入内容了. 不扯话题了.下面说怎么获取或设置光标位置. 2个步骤: ① 获取DIV中的光标位置

  • js类后台管理菜单类-MenuSwitch

    写MenuSwitch类的出发点是因为随着后台管理项越来越多,从而导致菜单显示部出现了滚动条导致页面很不美观,自己蒙生写这个JS类了.     这个功能类采用了目前比较流行的Web2.0做法,使用DIV+CSS+JS方式,将样式和功能分开.我下面先把演示效果放出来吧 复制代码 代码如下: function MenuSwitch(className){                 this._elements = [];         this._default = -1;         

  • jsp中将后台传递过来的json格式的list数据绑定到下拉菜单select

    复制代码 代码如下: <span style="white-space:pre"> </span><select><c:forEach var="fileList" items="${fileList}" varStatus="i"> <option value="${i.count}">${fileList.filePath}</optio

随机推荐