javascript中怎么循环提取文本框内容,做成json格式传送到新窗口显示??

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript中怎么循环提取文本框内容,做成json格式传送到新窗口显示??相关的知识,希望对你有一定的参考价值。

提取动态id为10、11、12;20、21、22、30、31、32....的文本框内容,转成json格式,并将json以字符串形式传送到新的页面显示啊???刚学会这个,始终编辑不出来,请各位大神帮帮忙,如果有可能请在一些关键点写点注释,以方便小弟学习!!感谢了

你的id不连续,这个id属性鸡肋了

我想到两种方法

1、

可以取出页面上的所有文本框 历遍dom 或 用jquery $("texterea") 或 querySelectorAll("textarea")

var data=,nodes=querySelectorAll("textarea");//可能所有文本框都是有用的
for(var i=0,l=nodes.length;i<l;i++)
    data[nodes[i].id]=nodes[i].value;//如果有不符合条件的文本框 这里也可以过滤掉
;
var json=JSON.stringify(data);//json出来了 传送到新的页面?不知道你是要什么样的

2、

你程序输出页面的时候就把json顺带也输出了吧,前提页面是你写的

<table>
    <script>var data=</script>
    <tr>
        <script>data[1]="文本框内容1"</script>
        <td><textarea id="1">文本框内容1</textarea></td><!--你说id是不是鸡肋-->
    </tr>
    <tr>
        <script>data[99]="文本框内容99"</script>
        <td><textarea id="99">文本框内容99</textarea></td>
    </tr>
</table>

<script>
var json=JSON.stringify(data);//json出来了 传送到新的页面?不知道你是要什么样的
</script>

追问

id,我是用javascript动态添加的,id前一位是行号,后一位是列号,至于input用的是text的格式。json传送到新页面想直接在页面显示就行了不需要太麻烦了

追答

动态生成的就更好了,就不用在从显示的表格里取value了
每显示一条 顺带就把数据保存到对象里面
data["行列"]="文本框内容";搞定

按你的显示,alert(json)一下也不错哈,控制台输出也很方便的 console.log(json);

参考技术A 首先,javascript的变量名不能数字开头……

我的思路是,先拼成json格式的字符串。再把字符串转成json对象(好像没办法直接创建json,要先字符串,然后再json)。然后你要用json对象做什么都行。

有个两个术语,我初略的解释就是:
对象变成字符串叫做序列化
字符串变成对象叫做反序列化

了解以上两个术语你就会做了追问

10、11、12;20、21、22、30、31、32....表格文本框的id,我想用循环来获取这些文本框的值,然后转换成json字符串

参考技术B 网页中用于输入数据的控件有:
textarea,select,input
而input再以type属性区分成:hidden,text,radio,checkbox,button,reset,submit

以上是基础知识,如果你要取的范围内什么类型都有的话那是要多加一些判断的,如果只是一个类型的话那就好办多了,比如,如果都是文本框的话,那直接getElementsByTagName('input')得到对象集合,for循环一下就好了,总之啊,写js是应该要考虑和dom元素的组合的,要如何才方便js取值这是最重要的了

我写有一个提取根据表单获取表单里面所有的输入控件的值的函数,基本思路就是分别用
textarea,select,input三种类型来进行过滤:
getElementsByTagName('input')
getElementsByTagName('textarea')
getElementsByTagName('select')

思路很重要,你还是自己组织好思路吧追问

是text的,我的思想是用两个for循环提取所有input的内容,然后组成json格式输入一个数组里面,然后在转换成json格式的!

追答

json就是一个格式化的字符串,for一个就行了吧:

var myInput=document.getElementsByTagName('input');
var arr=[];
for(var i=0;i

参考技术C 有点没有明白你的意思, 能请问下你要达到的是什么要求吗?追问

循环获取表格每个单元格内容,单元格内的输入文本框id为10、11、12;20、21、22、30、31、32....,而且表格的行会这样动态增加下去,所以我想用动态获取输入框的值,组成json格式,

追答

加载jquery.js
var inputs = $("table input");
var result = [];
for (var i = 0; i < inputs.length; i++)

result[i] = $(inputs[i]).val();

至于 至于组成json 格式的话
你可以使用jquery的插件

https://code.google.com/p/jquery-json/
var thing = plugin: 'jquery-json', version: 2.4 ;
var encoded = $.toJSON( thing );
// '"plugin":"jquery-json","version":2.4'
var name = $.evalJSON( encoded ).plugin;
// "jquery-json"
var version = $.evalJSON(encoded).version;
// 2.4

或者是使用json.js
JSON.stringify(result);

或者直接 手动做成json 格式

java中怎样提取文本框中的内容输出到文件?

java+struts,页面上有三个控件,分别<input type=text ><INPUT type=button value=copy> <TEXTAREA cols= rows= >,下面是需求:在textarea内输入任意内容,text内输入要输出文件的名字例如"abc",点击button后把textarea中的内容生成xml文件即"abc.xml"到默认的目录下(任意指定即可)。
求助!!
补充一下:在本地机器上任意目录(你自己指定的目录,如E:/java)生成xml文件以及日志文件

参考技术A 作为表单提交,然后通过request.getParameter("元素name");
就可以获得这些数据了。
参考技术B 服务器目录还是客户端目录?
如果在服务器短自己去参考下dom4j或者jdom
客户端就找查查js的activex控件

以上是关于javascript中怎么循环提取文本框内容,做成json格式传送到新窗口显示??的主要内容,如果未能解决你的问题,请参考以下文章

请问html怎么把文本框做成下拉框,或下拉框去掉右边的倒三角

Python中tkinter包如何提取文本框文字到函数之外?

javascript怎么禁止在文本框中输入?

ppt点文字消失但又出新内容怎么做

谁能告诉我java的Swing中文本输入框怎么提取输入的数据赋值到int型变量上?急用,谢谢了。

如何获取HTML中用户输入到文本框中的内容?