table 表提交数据(不用对应input版)

<!doctype html>

<html>

<head><title>table 表提交数据(不用对应input版)</title></head>

<body>

<div id="table-div">

<table id="table-batabase">

<tr><th>编号</th><th>名字</th><th>年龄</th><th>性别</th><th>爱好</th></tr>

<tr><td>1</td><td>小明</td><td>20</td><td>男</td><td>篮球</td></tr>

<tr><td>2</td><td>小猪</td><td>1</td><td>女</td><td>游泳</td></tr>

<tr><td>3</td><td>小狗</td><td>3</td><td>女</td><td>吃饭</td></tr>

</table>

</div>

<div id="dongzuo">

<form id="myform" action="test.php" method="post">

<input id="JSONText" name="jsontext" type="text" value=""/>

</form>

<button id="save-cookie">暂存</button><button id="save">提交</button>

</div>

<script type="text/javascript">

var cookie = document.getElementById(‘save-cookie‘);

var save = document.getElementById(‘save‘);

var table = document.getElementById(‘table-batabase‘);

var myform = document.getElementById(‘myform‘);

cookie.onclick = function(){

alert(‘你点击了暂存功能‘);

}

save.onclick = function(){

//alert(table.rows.length);

var tr;

var dataArray = new Array();

for(var i=1;i<table.rows.length;i++){

date = new Object();

tr = table.rows[i];

date.Code = tr.childNodes[0].innerHTML;

date.Name = tr.childNodes[1].innerHTML;

date.Age  = tr.childNodes[2].innerHTML;

date.Sex  = tr.childNodes[3].innerHTML;

date.Like = tr.childNodes[4].innerHTML;

//将table表对象转换成数组装成json放在数组里

dataArray.push(JSON.stringify(date));

}

//将数组装成json放在数组里

document.getElementById(‘JSONText‘).value = dataArray.toString();

myform.submit();

}

</script>

</body>

</html>

思  路:将table里的值取出,放在json中,赋给一个input,通过一个input来实现table表数据提交到服务器,就可以避免页面存在太多input框。

关键点: 

1. rows/childNodes 获取某元素下的所有子节点;

2. JSON.stringify(?) 将对象转为json数据;

3. dataArray.toString() 将数组转换成json。

时间: 2024-10-15 15:40:58

table 表提交数据(不用对应input版)的相关文章

向后台提交数据:通过form表单提交数据需刷新网页 但通过Ajax提交数据不用刷新网页可通过原生态Ajax或jqueryAjax。Ajax代码部分

原生态Ajax提交表单:需要借助XMLHttpRequest对象的open,要收通过post发送请求还要setRequsetHeader,然后把数据发送给后端,代码如下 目录结构 index.py代码 1 #index.py 2 #!/usr/bin/env python 3 #-*- coding:utf-8 -*- 4 import tornado.web 5 import tornado.ioloop 6 class indexHandler(tornado.web.RequestHand

两种方法修改table表的内容

用两种方法获取和修改table表中数据,代码如下: 第一种方案的思想是,根据table中的当前 tr 的位置来定位,当前修改的tr .     第二种方案的思想是,给table中的每个 tr 做一个标记,根据此标记来修改当前的tr .  html代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>table</title> <sc

thinkPHP5.0使用form表单提交数据和删除文章,不用TP的提示页面,使用弹出提示信息

form表单提交数据和删除文章时,TP的默认信息提示页面的看起来不是很好看,想要实现弹窗提示怎么做呢? 前端:可以使用前端的一个知识--iframe,iframe元素会创建包含另外一个文档的内联框架:target,规定在何处打开链接文档. 另外想要实现一个好看的方便.能重复使用的弹窗就要开发一个弹窗插件了,这里推荐使用前端的弹窗插件sweetalert.js,为了方便.重复使用我们把它成封装一个函数,页面要引入sweetalert.js的css和js文件 后端:为了方便以后重复使用,先写一个公共

phpcms实现验证码以及异步提交表单数据

在phpcms网站中使用验证码我们要考虑前端模板页面中如何调用验证码和后台程序中如何验证两个方面: 一.在模板中,调用验证码的代码如下: 1 <label for="code">验证码</label> 2 <input type="text" id="code" name="code" size="10"> 3 {form::checkcode('code_img', '

客户端表单提交数据方式与服务器获取数据

表单提交数据的两种方式 表单form的提交有两种方式,一种是get的方法,通过超级链接后面的参数提交过来,一种是post ,通过Form表单提交过来. post方式: <form id="form1" name="form1" method="post" action="login.aspx"> <table width="501" border="0" align=&

jQuery通过AJAX快速提交表单数据

当表单数据项很多时,手动获取表单项的值将变得效率低下,结合jQuery提供的函数serialize(),我们可以实现快速获取数据并提交表单数据. 请看下面的表单: <form id="fm"> <table> <tr> <td>姓名</td> <td> <input type="text" name="name" /> </td> </tr>

php中提交表单数据的POST()方法和GET()方法

提交获取表单数据是表单应用中最常用的操作,经常需要PHP后台从前台页面中获取用户在前台表单页面中提交的各种数据.表单数据传递的方式有以下的两种方法,一种为POST()方法,另外一种为GET()方法.具体采用哪种获取数据的方法是由<form>表单的 method 属性所指定的,下面讲解这两种方法在 Web 表单中的具体应用.大理石平台厂家 使用POST()方法提交表单 在使用POST()方法时,只需要将<form>表单中的属性 method 设置成POST即可. POST()方法不依

表单提交时如何将错误信息传递到页面中,并且保存原来提交数据

曾经何时,你还有我或许都在困惑,如何方便的将验证不通过的表单信息再返回到前台页面,例如我注册一个账号,辛辛苦苦填写了N多项,一个格式验证没有通过,一切都需要充填,虽然Ajax可以解决这个问题,但是我们总不能把所有表单提交都弄成ajax,更何况有若干人就是没事把javascript给禁止了.哎哎,好了解决方案来了,下面以用户登录为例,说说我的解决方案. 服务器端用nodejs实现: login.html 简单的提交表单 <form action="" id="loginF

使用jQuery实现跨域提交表单数据

我们在WEB开发中有时会遇到这种情况,比如要从A网站收集用户信息,提交给B网站处理,这个时候就会涉及到跨域提交数据的问题.本文将给您介绍如何使用jQuery来实现异步跨域提交表单数据. 在jQuery中,我们使用json数据类型,通过getJSON方法来实现从服务端获取或发送数据,而当要向不同远程服务器端提交或者获取数据时,要采用jsonp数据类型.使用这种类型的话,会创建一个查询字符串参数 callback=? ,这个参数会加在请求的URL后面.服务器端应当在JSON数据前加上回调函数名,以便