`
hackbomb
  • 浏览: 217317 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Javascript动态添加数据的解决方案

阅读更多

//全局变量, 记录信息的条数
var num=0;
//添加信息
function AddMac()
{
    //获得两个输入信息的TEXT对象
    var smac=document.getElementById('smac');
    var emac=document.getElementById('emac');
    
   
   
    /*1.在这里可以做一些输入合法性检查 比如你输入的MAC地址是否符合规范
    *2.还可以做一些信息的条数限制 比如最大255条
    *3.还可以做一些信息重复性检查 重复的信息是否可以填入表内
    *如果这些都做了,咱们再继续向下走
    */ 
    var mac=smac.value + " - " + emac.value;
    //把全局变量自加1,
    num ++;
   
    //获得要添加的表格对象,并且加入一行(这里可能有些不明白,别着急,咱先放放,一会我会做解释)
    var x=document.getElementById('macTable').insertRow(num-1);
    //加入所需要的列,这里我加入两列
    //第一列是显示已经加入的信息
    var a=x.insertCell(0);
    //第二列我做一些操作,比如删除
    var n=x.insertCell(1);
   
    //向第一列中插入数据,利用innerHTML的方法
    a.innerHTML=smac.value;
    //插入一个带ONCLICK事件图片,目的是可以删除该记录
    n.innerHTML="<img style="cursor:pointer" title="删除" src="/images/tubiao/del.gif" onclick="deleteRowMac(this)"/>";
   
    //获得记录信息的对象 (隐藏对象)
    var groups=document.getElementById('groups');
    //获得记录信息条数的对象 (隐藏对象)
    var macsnum=document.getElementById('macsnum');
    //对象赋值
    groups.value += smac.value;
    groups.value += ",";
    groups.value += emac.value;
    groups.value += ";";
    macsnum.value=num;
}
//删除信息
function deleteRowMac(r)
{
    //获得要删除的行的索引
    var i=r.parentNode.parentNode.rowIndex;
    //利用索引删除该行
    document.getElementById('macTable').deleteRow(i)
    //获取记录信息的隐藏对象
    var mm=document.getElementById("groups");
    //将记录切割,存入一个数组
    var array=mm.value.split(";");
    //将隐藏域的值清空
    mm.value = "";
    var index=i;
    //重新写入隐藏域的值
    for(j = 0; j < array.length-1; j++)
    {
        if(j != index)
        {
              mm.value += array[j] + ";"
        }
    }
    num--;
    //获取记录信息数量的隐藏对象
    var macsnum=document.getElementById("macsnum")
    macsnum.value =num;
}
 

下面放入HTML的代码

 

<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td height="30" colspan="2" align="center">
      <fieldset style="width:80%;">
        <legend>MAC 地址</legend>
        <table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td width="150" height="30" align="right">
            MAC地址范围:
            </td>
            <td height="30" align="left">
            <input name="smac" type="text" class="input" id="smac" maxlength="17" onblur="change_sign(smac)" style="text-transform:lowercase"/>
              -
            <input name="emac" type="text" class="input" id="emac" maxlength="17" onblur="change_sign(emac)" style="text-transform:lowercase"/>
&nbsp;&nbsp; <input name="btnMac" type="button" onclick="changemac()" class="input_button" id="btnMac"  value="添加" />
            </td>
          </tr>
        </table>
        </fieldset>
      </td>
    </tr>
    <tr>
      <td width="20%" height="30" align="center">&nbsp;</td>
      <td height="30" align="left">&nbsp;</td>
    </tr>
    <tr>
      <td height="30" colspan="2" align="center">
      <table style="border:1px solid #39739C;" width="540" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
          <tr>
            <td width="270" class="tableleft">MAC地址&nbsp;</td>
            <td width="268" class="tableright">动作&nbsp;</td>
          </tr>
          <!--循环开始 -->
          <tr>
            <td colspan="3" align="center" class="tdleft">
                <table id="macTable">
                </table>
            </td>
          </tr>
          <!--循环结束 -->
      </table>
      <textarea name="groups" style="display:none" cols="40" rows="5" class="input" id="groups"></textarea>
      <input type="hidden" name="macsnum" id="macsnum" />
      </td>
    </tr>
</table>
这里主要是放入一个

<table id="macTable">
    </table>

目的就是上面说过的要用这个表格插入一行

还要有记录值的隐藏表单

<textarea name="groups" style="display:none" cols="40" rows="5" class="input" id="groups"></textarea>
<input type="hidden" name="macsnum" id="macsnum" />

再加入CSS装饰一下,就更美了~~~

 

#macTable td{
width:540px;
text-align:center;
height:16px;
border-bottom:1px solid #AEC2CF;}

分享到:
评论

相关推荐

    Javascript跨域访问解决方案

    JavaScript跨域访问解决方案 在Web开发中,JavaScript的同源策略是浏览器为了保障用户安全而实施的一项重要机制。它限制了脚本只能访问与当前页面具有相同协议(如http或https)、主机名和端口号的资源。然而,在...

    完结14章跨平台高手必修课-Flutter动态化解决方案实战课程

    ### Flutter动态化解决方案实战课程知识点概述 随着移动互联网技术的发展,跨平台开发逐渐成为主流趋势之一,这不仅有助于提升开发效率,还能降低维护成本。在众多跨平台开发工具中,Flutter以其独特的性能优势和...

    JavaScript动态页面制作

    7. Vue.js、React.js、Angular.js等前端框架:这些现代前端框架提供了一套完整的解决方案,用于构建复杂、高性能的动态页面应用。它们封装了DOM操作,提供了组件化开发模式,使得状态管理更加容易,同时也优化了页面...

    bootstrap-table动态加载json数据并且支持分页

    Bootstrap Table是一种基于HTML和...总的来说,Bootstrap Table结合JSON数据和分页功能,为Web应用提供了一种强大的数据展示解决方案。开发者可以根据实际需求,灵活配置和扩展其功能,以满足各种复杂的表格展示场景。

    Pegasus-Javascript库数据加载速度更快

    2. **异步加载**:利用JavaScript的异步特性,Pegasus在后台加载数据,不影响用户界面的响应速度,确保应用的流畅性。 3. **智能缓存**:Pegasus具备智能缓存机制,能够记忆已加载的数据,避免重复加载,从而节省...

    JS动态加载以及JavaScriptvoid(0)的爬虫解决方案.docx

    ### JS动态加载及JavaScriptvoid(0)爬虫解决方案详解 #### 一、引言 随着Web前端技术的发展,越来越多的网站开始采用JavaScript动态加载技术来提高用户体验和减轻服务器负担。然而,这种技术也给网络爬虫带来了新...

    Java爬虫Jsoup+httpclient获取动态生成的数据

    本文主要讲述如何利用Java编程语言中的Jsoup库和HttpClient工具包来获取和解析动态生成的数据,特别是那些通过JavaScript动态加载的数据。 ### Java爬虫基础 Java爬虫是指使用Java语言编写的一类程序,这些程序...

    《JavaScript动态网页设计经典实例教程》

    7. **库与框架**:JavaScript拥有众多优秀的库和框架,如jQuery简化DOM操作,React和Vue.js用于构建复杂的用户界面,Angular提供完整的MVC解决方案,这些工具大大提高了开发效率。 8. **本地存储**:JavaScript支持...

    Web报表的XML+JavaScript解决方案.pdf

    【Web报表的XML+JavaScript解决方案】是一种利用XML(可扩展标记语言)作为数据源,结合JavaScript进行前端交互处理的报表生成方法。XML是一种通用的数据交换格式,它的设计目标是简化数据的存储和共享,适用于跨...

    精通JavaScript动态网页编程.rar

    它们提供了一套完整的工具和解决方案,简化了组件化开发、状态管理以及与服务器的通信,使得开发者能够更高效地构建复杂的应用。 最后,随着WebAssembly的出现,JavaScript可以与C++、Rust等高性能语言协同工作,...

    云开发-疫情期间-健康上报解决方案-JavaScript-下载

    在这个解决方案中,JavaScript主要用于前端交互逻辑的实现,如用户界面的动态更新、表单验证、数据提交等。 2. 前端框架: 解决方案可能采用了像React或Vue.js这样的现代前端框架,它们能够帮助开发者更高效地构建...

    arcgis api for javascript跨域处理方案

    在使用ArcGIS API for JavaScript开发Web应用程序时,经常会遇到跨域问题。...资源代理是一种安全且灵活的解决方案,特别是在处理敏感数据或需要控制访问权限时。理解并正确实施这些方法对于开发跨域GIS应用至关重要。

    Javascript跨域和Ajax跨域解决方案

    本文将深入探讨JavaScript和Ajax跨域的原理,以及常用的解决方案。 首先,理解同源策略是解决跨域问题的基础。同源策略是浏览器为了保障用户安全而设定的一种机制,它规定了只有同源(即协议、域名和端口都相同)的...

    《使用javascript访问kettle内部组件》示例代码

    总之,结合JavaScript和Kettle的能力,我们可以构建出强大且灵活的数据处理解决方案,尤其适用于需要与Web应用或自动化流程集成的场景。通过深入理解这些技术,你将能够构建出复杂的、跨平台的数据集成系统。

    javascript文件夹选择框的两种解决方案.rar

    这里我们将探讨两种常见的解决方案。 **解决方案一:使用HTML5的`input[type="file"]`配合`webkitdirectory`属性** HTML5引入了`&lt;input type="file"&gt;`元素,允许用户选择文件。虽然默认情况下,用户只能选择单个...

    ArcGIS API for JavaScript3加载高德地图

    ArcGIS是Esri公司推出的一套全面的GIS软件解决方案,而ArcGIS API for JavaScript则是其在网络应用中的开发接口,允许开发者利用JavaScript创建交互式的地图应用程序。本篇文章将详细探讨如何使用ArcGIS API for ...

    Javascript动态菜单

    JavaScript动态菜单是一种常见的网页交互设计,它允许网页的菜单结构根据服务器提供的数据动态生成和...这个例子中的文件共同构成了一套简单的解决方案,展示了如何利用JavaScript和相关的辅助库来创建动态菜单系统。

    用于加载解析和显示VAST资源广告的客户端JavaScript解决方案

    客户端JavaScript解决方案是实现VAST资源加载、解析和显示的关键工具,特别是在网页环境中。本文将深入探讨这个主题,以及如何利用JavaScript处理VAST广告。 首先,我们要理解VAST结构。VAST文档包含了广告的所有...

    JAVASCRIPT 动态网页编程实例手册

    此外,JavaScript还有强大的库和框架,如jQuery简化DOM操作,React.js和Vue.js提供组件化的前端开发模式,Angular.js则是全栈式的解决方案。这些工具大大提高了开发效率和代码质量。 最后,ES6(ECMAScript 6,也...

Global site tag (gtag.js) - Google Analytics