JavaScript动态实现 添加 删除表单

本文介绍了一种使用JavaScript实现的动态表单处理方法,允许用户根据需求增减表单项,适用于药品销售记录等多条目输入场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//addattach.js
function resizeup(obj) {
  var newheight = parseInt($(obj).style.height, 10) + 50;
  document.getElementById(obj).style.height = newheight + 'px';
}

//  ---------------------------------------

function resizedown(obj) {
  var newheight = parseInt($(obj).style.height, 10) - 50;
  if(newheight > 0) {
    document.getElementById(obj).style.height = newheight + 'px';
  }
}

//  ---------------------------------------

function addattachfrom() {
  var newnode = document.getElementById('attachbodyhidden').firstChild.cloneNode(true);
  document.getElementById('attachbody').appendChild(newnode);
}

//  ---------------------------------------

function removeattachfrom() {
  document.getElementById('attachbody').childNodes.length > 1 && document.getElementById('attachbody').lastChild ? document.getElementById('attachbody').removeChild(document.getElementById('attachbody').lastChild) : 0;
}

//  ---------------------------------------

function checkall(form) {
  for (var i = 0; i < form.elements.length; i ++ ) {
    var e = form.elements[i];
    if (e.name != 'chkall')
    e.checked = form.chkall.checked;
  }
}

//  ---------------------------------------
  //index.htm
<!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"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<link rel="icon" href="/favicon.ico" type="image/x-icon" /> 
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> 
<title>不定数量表单添加的处理方法演示</title> 
<meta name="Description" content="" /> 
<meta content="" name="Keywords" /> 
<link rel="stylesheet" rev="stylesheet" href="../nav/nav.css" type="text/css" media="all" /> 
<script type="text/javascript" src="./addattach.js"></script> 
</head> 
 
  <table width="750" border="0" cellpadding="0" cellspacing="0" id="main-table" align="center"> 
    <tr> 
      <td> 
	   <h1>不定数量表单添加的处理方法演示</h1> 
        <form name="f1" action="#" enctype="multipart/form-data" method="POST"  onSubmit="return Validator.Validate(this,2)"> 
<table width="95%" border="0" cellspacing="2" cellpadding="2"> 
 <tr> 
  <tr> 
    <td width="25%" align="right">请输入单号(*)</td> 
    <td width="75%" align="left"><input name="SheetID" type="text" id="" size="30" maxlength="200" dataType="Require" msg="单号必须填写" /></td> 
  </tr> 
  <tr> 
    <td width="25%" align="right">销售日期(*)</td> 
    <td width="75%" align="left"><input type="text" name="sdate" οnclick="setday(this)" id="" dataType="Date" format="ymd" msg="日期格式不正确" /></td> 
  </tr> 
 
<tr class="tablecell"> 
      <td height="40" colspan="2" align="center" valign="middle" bgcolor="#F0F0F0"> 
		(提示:点击[+]可以增加表单,点击[-]可以减少表单)<br /> 
		以下直接按ENTER键可跳入下一表单框
	</td> 
</tr> 
<tr class="tablecell"> 
<td style="padding-top:5px;" colspan="2"> 
<table width="90%" align="center" cellpadding="0" cellspacing="0" class="celltable"> 
  <tbody id="attachbodyhidden" style="display:none"><tr><td width="100%"> 
  <table class="gray" border="0" cellspacing="2" cellpadding="2" style="border-left:1px solid #DEDEDE;border-right:1px solid #DEDEDE;border-top:1px solid #DEDEDE;border-bottom:1px solid #DEDEDE;"> 
   <tr> 
	<td width="20%" align="right">药品名称</td> 
	<td width="80%" align="left"><input type="text" name="GoodsName[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">药品条形码</td> 
	<td width="80%" align="left"><input type="text" name="BarCode[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">剂型</td> 
	<td width="80%" align="left"><input type="text" name="PKindID[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">单位</td> 
	<td width="80%" align="left"><input type="text" name="Unit[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">数量</td> 
	<td width="80%" align="left"><input type="text" name="Qty[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">有效日期</td> 
	<td width="80%" align="left"><input type="text" name="udate[]" id="" οnclick="setday(this)" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
  </table> 
  </td></tr></tbody> 
  <tbody id="attachbody"><tr><td width="100%"> 
 <table class="gray" border="0" cellspacing="2" cellpadding="2" style="border-left:1px solid #DEDEDE;border-right:1px solid #DEDEDE;border-top:1px solid #DEDEDE;border-bottom:1px solid #DEDEDE;"> 
   <tr> 
	<td width="20%" align="right">药品名称</td> 
	<td width="80%" align="left"><input type="text" name="GoodsName[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">药品条形码</td> 
	<td width="80%" align="left"><input type="text" name="BarCode[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">剂型</td> 
	<td width="80%" align="left"><input type="text" name="PKindID[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">单位</td> 
	<td width="80%" align="left"><input type="text" name="Unit[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">数量</td> 
	<td width="80%" align="left"><input type="text" name="Qty[]" id="" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
   <tr> 
	<td width="20%" align="right">有效日期</td> 
	<td width="80%" align="left"><input type="text" name="udate[]" id="" οnclick="setday(this)" οnkeydοwn="if(event.keyCode==13)event.keyCode=9" /></td> 
   </tr> 
  </table> 
  </td></tr></tbody> 
  </table> 
  </td> 
</tr> 
 
<tr><td colspan="2"><a href="#add" οnclick="addattachfrom();">添加[+]</a> <a href="#add" οnclick="removeattachfrom();">减少[-]</a></strong><a name="add"></a></td></tr> 
 
  <tr> 
    <td>&nbsp;</td> 
    <td align="left"><input type="submit" name="Submit" value="添加销售记录" /></td> 
  </tr> 
</table> 
</form> 
</td> 
    </tr> 
  </table> 
 
 
 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值