`
jiues
  • 浏览: 121511 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

js 动态创建表单(追加行)

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="javascript">// Example: obj = findObj("image1");
function findObj(theObj, theDoc)
{
var p, i, foundObj;
if(!theDoc) theDoc = document;
if( (p = theObj.indexOf("?")) > 0 && parent.frames.length)
{    theDoc = parent.frames[theObj.substring(p+1)].document;    theObj = theObj.substring(0,p); } if(!(foundObj = theDoc[theObj]) && theDoc.all) foundObj = theDoc.all[theObj]; for (i=0; !foundObj && i < theDoc.forms.length; i++)     foundObj = theDoc.forms[i][theObj]; for(i=0; !foundObj && theDoc.layers && i < theDoc.layers.length; i++)     foundObj = findObj(theObj,theDoc.layers[i].document); if(!foundObj && document.getElementById) foundObj = document.getElementById(theObj);    return foundObj;
}
//添加一个参与人填写行
function AddSignRow(){ //读取最后一行的行号,存放在txtTRLastIndex文本框中
var txtTRLastIndex = findObj("txtTRLastIndex",document);
var rowID = parseInt(txtTRLastIndex.value);

var signFrame = findObj("SignFrame",document);
//添加行
var newTR = signFrame.insertRow(signFrame.rows.length);
newTR.id = "SignItem" + rowID;

//添加列:序号
var newNameTD=newTR.insertCell(0);
//添加列内容
newNameTD.innerHTML = newTR.rowIndex.toString();

//添加列:姓名
var newNameTD=newTR.insertCell(1);
//添加列内容
newNameTD.innerHTML = "<input name='txtName" + rowID + "' id='txtName" + rowID + "' type='text' size='12' />";

//添加列:电子邮箱
var newEmailTD=newTR.insertCell(2);
//添加列内容
newEmailTD.innerHTML = "<input name='txtEMail" + rowID + "' id='txtEmail" + rowID + "' type='text' size='20' />";

//添加列:电话
var newTelTD=newTR.insertCell(3);
//添加列内容
newTelTD.innerHTML = "<input name='txtTel" + rowID + "' id='txtTel" + rowID + "' type='text' size='10' />";

//添加列:手机
var newMobileTD=newTR.insertCell(4);
//添加列内容
newMobileTD.innerHTML = "<input name='txtMobile" + rowID + "' id='txtMobile" + rowID + "' type='text' size='12' />";

//添加列:公司名
var newCompanyTD=newTR.insertCell(5);
//添加列内容
newCompanyTD.innerHTML = "<input name='txtCompany" + rowID + "' id='txtCompany" + rowID + "' type='text' size='20' />";


//添加列:删除按钮
var newDeleteTD=newTR.insertCell(6);
//添加列内容
newDeleteTD.innerHTML = "<div align='center' style='width:40px'><a href='javascript:;' onclick=\"DeleteSignRow('SignItem" + rowID + "')\">删除</a></div>";

//将行号推进下一行
txtTRLastIndex.value = (rowID + 1).toString() ;
}
//删除指定行
function DeleteSignRow(rowid){
var signFrame = findObj("SignFrame",document);
var signItem = findObj(rowid,document);

//获取将要删除的行的Index
var rowIndex = signItem.rowIndex;

//删除指定Index的行
signFrame.deleteRow(rowIndex);

//重新排列序号,如果没有序号,这一步省略
for(i=rowIndex;i<signFrame.rows.length;i++){
signFrame.rows[i].cells[0].innerHTML = i.toString();
}
}//清空列表
function ClearAllSign(){
if(confirm('确定要清空所有参与人吗?')){
var signFrame = findObj("SignFrame",document);
var rowscount = signFrame.rows.length;

//循环删除行,从最后一行往前删除
for(i=rowscount - 1;i > 0; i--){
   signFrame.deleteRow(i);
}

//重置最后行号为1
var txtTRLastIndex = findObj("txtTRLastIndex",document);
txtTRLastIndex.value = "1";

//预添加一行
AddSignRow();
}
}
</script>
</HEAD>

<BODY>
<div>
<table width="613" border="0" cellpadding="2" cellspacing="1" id="SignFrame">
              <tr id="trHeader">
                <td width="27" bgcolor="#96E0E2">序号</td>
                <td width="64" bgcolor="#96E0E2">用户姓名</td>
                <td width="98" bgcolor="#96E0E2">电子邮箱</td>
                <td width="92" bgcolor="#96E0E2">固定电话</td>
                <td width="86" bgcolor="#96E0E2">移动手机</td>
                <td width="153" bgcolor="#96E0E2">公司名称</td>
                <td width="57" align="center" bgcolor="#96E0E2">&nbsp;</td>
              </tr>
        </table>
   </div>
   <div>
        <input type="button" name="Submit" value="添加参与人" onclick="AddSignRow()" />
     <input type="button" name="Submit2" value="清空" onclick="ClearAllSign()" />
     <input name='txtTRLastIndex' type='hidden' id='txtTRLastIndex' value="1" />
   </div>

</BODY>
</HTML>
分享到:
评论

相关推荐

    JavaScript实现动态添加Form表单元素的方法示例

    在JavaScript中,动态添加Form表单元素是一种常见的需求,特别是在用户需要输入不确定数量的数据时,如上传文件、填写多条信息等。本文将详细介绍如何利用JavaScript实现动态添加表单元素,并提供一个具体示例,涉及...

    JavaScript实现动态增加文件域表单

    JavaScript动态增加文件域表单的实现原理与方法 在页面上动态添加文件上传控件,以便用户上传多个文件,是网站表单设计中的常见需求。传统的静态页面设计只允许用户上传一个文件,而动态增加文件域可以使用户根据...

    javascript动态增加文本框

    在`javascript动态增加文本框.js`文件中,我们可以这样写: ```javascript document.getElementById('add-btn').addEventListener('click', function() { var container = document.getElementById('container'); ...

    一个增加表单input的例子/表单框按需求点击增加

    在网页设计中,表单是收集用户数据的重要工具,尤其在处理动态或不确定的数据量时,如报名系统中不确定的报名人数。本示例聚焦于一个动态增加表单输入的解决方案,允许用户根据需求自由添加新的姓名输入框,以适应...

    解决layui追加或者动态修改的表单元素“没效果”的问题

    由于下拉列表是在页面加载后动态创建的,所以需要调用`form.render('select')`来确保layui能够正确处理这个新添加的元素,使其具有正确的样式和功能。 值得注意的是,layui的版本可能会对某些功能有所影响。在本...

    jquery高级注册表单.zip

    4. **动画效果**:jQuery的动画功能可以让表单操作更加动态和吸引人。例如,`.fadeIn()` 和 `.fadeOut()` 可以用于淡入淡出提示信息,`.slideUp()` 和 `.slideDown()` 用于隐藏和显示元素。 5. **Ajax交互**:当...

    纯前端 JS脚本 导出excel 可动态添加数据

    例如,用户可能在网页上填写表单,然后点击“导出”按钮,此时JavaScript会捕获表单数据并将其转化为Excel格式,这个过程中数据的添加是动态的,可以是任意数量和结构的数据。 在实现这一功能时,通常会结合其他库...

    JavaScript使表单中的内容显示在屏幕上的方法

    其中,JavaScript可以通过操作网页上的表单元素,实现将用户输入的内容动态地显示在屏幕上。这种功能在开发交互式网站或应用程序时非常有用。接下来,我们将详细探讨如何使用JavaScript实现这一功能,包括操作表单...

    javascript使用appendChild追加节点实例

    在前端开发中,JavaScript是实现动态页面交互的核心语言之一。利用JavaScript,我们可以操作DOM(文档对象模型)来改变页面上的元素,而appendchild是其中常用的DOM操作方法,用于在指定父节点的子节点列表的末尾...

    纯js实现行的添加删除

    本文将深入探讨如何使用纯JavaScript实现动态的行添加与删除功能,尤其关注在特定条件下的按钮显示逻辑。这个功能通常应用于表格或者列表的管理,比如在线表单、任务列表等。 首先,我们需要创建一个基础的HTML结构...

    jQuery复制表单元素代码.zip

    本资源“jQuery复制表单元素代码.zip”聚焦于如何使用jQuery实现表单元素的复制功能,这对于动态创建表单、批量添加输入项或构建可配置界面非常有用。下面将详细介绍jQuery在处理表单元素复制时的关键知识点。 首先...

    js动态添加表格逐行添加、删除、遍历取值的实例代码

    在处理Web前端交互时,经常会遇到需要动态地对表格进行操作的场景,如动态添加表格行、删除表格行、遍历表格取值等。本文将详细阐述如何使用JavaScript来实现这些功能,并给出具体的代码示例。 ### 动态添加表格行 ...

    jQuery+json实现动态创建复杂表格table的方法

    在本文中,我们将探讨如何使用jQuery与JSON技术动态创建复杂表格。首先需要了解的是,jQuery是一个快速、小巧且功能丰富的JavaScript库,它简化了HTML文档遍历和操作、事件处理、动画和Ajax交互,使得Web开发变得...

    详解js的事件处理函数和动态创建html标记方法

    在本文中,我们将深入了解JavaScript的事件处理函数以及如何使用不同方法动态创建HTML标记。首先,事件处理函数是JavaScript的核心组成部分,它允许我们在用户与页面交互时执行特定的代码。而动态创建HTML标记则是一...

    Layui表格行添加编辑删除操作和保存数据代码

    Layui是一个流行的JavaScript框架,它提供了丰富的组件和API,使得这些操作变得简单易行。本示例将详细介绍如何使用Layui实现表格行的添加、编辑、删除操作,并且在编辑后如何保存数据。 首先,我们需要了解Layui的...

    精通javascript

    • 1.3.js 1.3.htm使用的外部JavaScript文件 第2章(\第2章) • 2.1.htm Infinity应用 • 2.2.htm NaN与isNaN()的用法 • 2.3.htm Infinity值的用法 • 2.4.htm 转义字符的使用 ...

    js实现接收表单的值并将值拼在表单action后面的方法

    本文将介绍如何使用JavaScript接收表单中的值,并将这些值动态拼接到表单的action属性后面。 首先,我们需要了解表单中的action属性的作用。action属性指定了当表单提交时所要发送数据的URL。而一个完整的请求URL...

    JS动态增加删除UL节点LI及相关内容示例

    在本文中,我们将详细探讨如何使用JavaScript动态地操作UL元素(无序列表)和其子元素LI(列表项)的增加和删除操作。 首先,创建基本的HTML结构是必要的。如示例所示,我们有一个UL元素,其ID为“ul”,里面包含了...

    javascript实现的动态添加表单元素input,button等(appendChild)

    写一个小系统时,需要动态添加表单元素,按自己的实现方法写了这篇教程! 我想各位在很多网站上都看到过类似的效果! 1、先用document.createElement方法创建一个input元素! var newInput = document.createElement(...

    JavaScript-and-DOM-Manipulation:宾夕法尼亚州数据训练营作业14-交互式网页,显示动态的UFO目击数据表,并具有使用JavaScript和D3.js在HTML表单上构建的过滤功能

    宾夕法尼亚州数据训练营作业14-交互式网页,显示动态的UFO目击数据表,并具有使用JavaScript和D3.js在HTML表单上构建的过滤功能 背景 分配的目的是创建一个HTML页面,该页面根据提供的UFO数据集动态显示表格。 除了...

Global site tag (gtag.js) - Google Analytics