委托应用-表单的创建和编辑

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>DOM操作</title>

</head>

<style>

#detail{

width:200px;

height:200px;

border:1px solid black;

display :none;

position:absolute;

left:500px;

top:300px;

background:#fff;

}

</style>

<body>

标题:<input type="text" id="topic_name" size=60/><br>

内容:<input type="text" id="topic_content" size=60/><br>

作者:<input type="text" id="author" size=60/><br>

<button id="saveBtn">保存</button>

<table id="tab" border=1>

<tr>

<th>ID</th><th>帖子名称</th><th>内容预览</th><th>发布时间</th><th>作者</th><th>操作</th>

</tr>

<tr class="first">

<td info="t">25</td>

<td info="t" class="title">ABC</td>

<td info="t">xxxxxxxx....</td>

<td info="t">2016-04-15</td>

<td info="t">LCE</td>

<td name="option"><a name="detail" href="#">详细信息</a> <a class="delbtn" href="javascript:;">删除</a></td>

</tr>

<tr>

<td info="t">25</td>

<td info="t" class="title">ABC</td>

<td info="t">xxxxxxxx....</td>

<td info="t">2016-04-15</td>

<td info="t">LCE</td>

<td name="option"><a name="detail" href="#">详细信息</a> <a class="delbtn" href="javascript:;">删除</a></td>

</tr>

<tr>

<td info="t">25</td>

<td info="t" class="title">ABC</td>

<td info="t">xxxxxxxx....</td>

<td info="t">2016-04-15</td>

<td info="t">LCE</td>

<td name="option"><a name="detail" href="#">详细信息</a> <a class="delbtn" href="javascript:;">删除</a></td>

</tr>

<tr>

<td info="t">25</td>

<td info="t" class="title">ABC</td>

<td info="t">xxxxxxxx....</td>

<td info="t">2016-04-15</td>

<td info="t">LCE</td>

<td name="option"><a name="detail" href="#">详细信息</a> <a class="delbtn" href="javascript:;">删除</a></td>

</tr>

<tr>

<td info="t">25</td>

<td info="t" class="title">ABC</td>

<td info="t">xxxxxxxx....</td>

<td info="t">2016-04-15</td>

<td info="t">LCE</td>

<td name="option"><a name="detail" href="#">详细信息</a> <a class="delbtn" href="javascript:;">删除</a></td>

</tr>

<table>

<div id="detail"></div>

</body>

</html>

<script src="public.js"></script>

<script>

var tab = $id("tab");

//添加保存按钮的点击事件

$id("saveBtn").onclick = function(){

//查找第一行

var oTr = document.querySelector(".first");

//克隆表格的第一行

var cloneTr = oTr.cloneNode( true );

cloneTr.children[0].innerHTML = rand(1,100);

cloneTr.children[1].innerHTML = $id("topic_name").value;

cloneTr.children[2].innerHTML = $id("topic_content").value;

cloneTr.children[3].innerHTML = dateToString( new Date() );

cloneTr.children[4].innerHTML = $id("author").value;

//      将克隆的行添加到table里

tab.appendChild( cloneTr );

}

//  给table添加点击事件

tab.onclick = function(e){

var e = e || event;

var target = e.target || e.srcElement;

//从新获取可以进行编辑的事件源

if( target.getAttribute("info") == "t" ){

//创建一个input

var opt = create("input");

opt.type = "text";

//将target的内容添加到文本框中

opt.value = target.innerHTML;

//然后清空target中的内容

target.innerHTML = "";

target.appendChild( opt );

//让某个元素自动获取焦点

opt.focus();//文本框自动获取焦点

//当文本框失去焦点时

//将文本框的内容添加到target中

opt.onblur = function(){

target.innerHTML = this.value;

}

}

//详细信息

if( target.name == "detail" ){

e.stopPropagation?e.stopPropagation():e.cancelBubble=true;

$id("detail").style.display = "block";

$id("detail").style.left = e.pageX + "px";

$id("detail").style.top = e.pageY + "px";

var title = target.parentNode.parentNode.children[1].innerHTML;

var author = target.parentNode.parentNode.children[4].innerHTML;

//显示详情

$id("detail").innerHTML = "标题:" + title + "<br>作者:" + author;

}

//删除

if( target.className == "delbtn" ){

if( confirm("确定要删除?") ){

target.parentNode.parentNode.remove();

}

}

}

//点击文档 隐藏详情

document.onclick = function(){

$id("detail").style.display = "none";

}

</script>

原文地址:https://www.cnblogs.com/tis100204/p/10319231.html

时间: 2024-10-23 19:29:36

委托应用-表单的创建和编辑的相关文章

MFC属性表单的创建

一个属性表单由一个或多个属性页组成.它有效地解决了大量信息无法在一个对话框上显示这一问题. 1.创建属性页 为了创建属性表单,首先需要创建属性页,后者对应的MFC类是CPropertyPage,该类生成的对象代表了属性表单中一个单独的属性页. 在资源编译器下添加3个属性页资源,并修改这三个属性页资源的ID及标题(Caption属性),属性页的标题就是最终在属性页上显示的选项卡的名称.有三种类型的属性页,如图: 说明:如果知道了属性页资源与对话框资源之间的属性区别,也可以在程序中先增加一个普通对话

Struts动态表单的创建

一.在struts中如何实现动态表单的创建 (1)第一步:创建一个简单的注册页面: <body> <form action="/DynamicForm/register.do?flag=register" method="post"> u:<input type="text" name="name"/><br/> p:<input type="password&q

&lt;div&gt;标签仿&lt;textarea&gt;。contentEditable=‘true’,赋予非表单标签内容可以编辑

需求:web页面需要一个文本输入框.1.该文本输入框默认状态下有个仿‘placeholder’的默认文本提示信息,2.文本框输入状态下其高度会随文本内容自动撑开. 方案选择:1.使用<textarea>标签.但是标签高度不会随文本高度自动撑开,而是出现滚动条.使用JS动态计算文本内容高度赋予<textarea>标签高度. 2.使用<div>或者<p>.<span>等非表单标签,通过赋予其contentEditable='true'属性,是其获得内

多级指标打分表单自动创建JavaScript代码解析

为了解释按多级指标自动创建打分表的设计,以及相关指标考核打分业务,写了Demo代码供开发人员参考,主要涉及到Table动态操作技术及算法实践. 1. HTML DOM Table 对象操作 1.1. 插入一行 使用HTML DOM insertRow() 方法,insertRow(index) 方法用于在表格中的指定位置插入一个新行. 若 index 等于表中的行数,则新行将被附加到表的末尾. 1.2. 插入单元格 使用HTML DOM insertCell() 方法,insertCell()

HTML5表单的创建及与PHP的交互

Html5表单 <!DOCTYPE html> <html> <head lang="en">     <meta charset="UTF-8">     <title></title> </head> <body> <form>     用户名:     <input type="text">     <br/>

5.1 HTML5表单的创建

1.表单用于获取不同类型的用户输入 2.常用表单标签 <form>表单 <input>输入域 <textarea>文本域 <label>控制标签 <fieldset>定义域 <legend>域的标题 <select>选择列表 <optgroup>选项组 <option>下拉列表中的选项 <button>按钮 用<form>标签定义一个表单 <input>标签定义输

.NET开源工作流RoadFlow-Bug修改-1.8.2表单验证时ueditor编辑非空验证无效

RoadFlow生成的表单,Ueditor编辑器不能进行非空验证的BUG修改: 1.修改控制器:WorkFlowFormDesignerController红框处: 2.修改js文件:Scripts/roadui.init.js 3.修改文件:Scripts/FlowRun/Forms/common.js 在这个Case后面增加: case "flow_html": if (filedshow == 0) { $control.html(initValue); } else if (f

EasyUI+Knockout实现经典表单的查看、编辑

此文章是基于 1. 搭建SpringMVC+Spring+Hibernate平台 2. 自制xml实现SQL动态参数配置 3. 利用DetachedCriteria构建HQL参数动态匹配 4. 常用日期处理方法工具类 5. 常用类型转换方法工具类 一. 准备工作 注:子项目 mms 全称:material management system:子项目 sys :基础信息.权限管理系统 1. 点击此下载 ims.rar,解压缩并把文件放到 ims 工程对应的文件夹下 二. 前端框架特色 1. js库

phpcms利用表单向导创建留言板(可以回复)

这篇博客写的很详细,可跳转到如下链接: http://blog.aiwebcom.com/%E7%BD%91%E7%AB%99%E5%BB%BA%E8%AE%BE/phpcms/456.html 注: 1.其中的sql语句需要根据自己的表做修改 2.如果在回复时无法回复文字,可把这句话删除  $answer=mb_convert_encoding($answer,'gbk','utf-8′);