获取数值的表单JS 怎么写呢

获取数值的表单JS 怎么写呢,第1张

/

@see 获得表单里的数据(不光是表单,任何元素都可以)

@param id 表单的ID

@param type 要返回的类型: string返回用&拼接的字符串, object返回一个js对象, json表示返回json格式的字符串

@return 根据type而定,默认为string

/

function getFormData(id, type) {

if (getO(id) != null) {

var str = "";

var obj = new Object();

var json = "{";

var array = getO(id)getElementsByTagName("input");

var rdbArr = new Array();

var ckbArr = new Array();

for (var i = 0; i < arraylength; i++) {

if (array[i]name != null && array[i]name != "") {

if (array[i]type == null || array[i]type == "") {

array[i]type = "text";

}

var inType = array[i]typetoLowerCase();

if (inType == "text" || inType == "hidden" || inType == "password") {

str += array[i]name + "=" + array[i]value + "&";

obj[array[i]name] = array[i]value;

json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";

} else if (inType == "radio") {

if (!isArrayHave(rdbArr, array[i]name)) {

rdbArr[rdbArrlength] = array[i]name;

}

} else if (inType == "checkbox") {

if (!isArrayHave(ckbArr, array[i]name)) {

ckbArr[ckbArrlength] = array[i]name;

}

}

}

}

for (var i = 0; i < rdbArrlength; i++) {

var key = rdbArr[i], value = getRadio(rdbArr[i]);

str += key + "=" + value + "&";

obj[key] = value;

json += key + ":'" + valuereplace(/\'/g, "\"") + "',";

}

for (var i = 0; i < ckbArrlength; i++) {

var key = ckbArr[i], value = getBox(ckbArr[i]);

str += key + "=" + value + "&";

obj[key] = value;

json += key + ":'" + valuereplace(/\'/g, "\"") + "',";

}

array = getO(id)getElementsByTagName("textarea");

for (var i = 0; i < arraylength; i++) {

if (array[i]name != null && array[i]name != "") {

str += array[i]name + "=" + array[i]value + "&";

obj[array[i]name] = array[i]value;

json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";

}

}

array = getO(id)getElementsByTagName("select");

for (var i = 0; i < arraylength; i++) {

if (array[i]name != null && array[i]name != "") {

str += array[i]name + "=" + array[i]value + "&";

obj[array[i]name] = array[i]value;

json += array[i]name + ":'" + array[i]valuereplace(/\'/g, "\"") + "',";

}

}

str = (strlength > 0 strsubstring(0, strlength - 1) : str);

json = (jsonlength > 1 jsonsubstring(0, jsonlength - 1) : json);

json += "}";

if (type == "object") {

return obj;

} else if (type == "json") {

return json;

} else {

return str;

}

} else {

alertWin(id + "\u672a\u5b9a\u4e49");

}

return "";

}

问题:使用 koa-bodyparser 可以解析post提交的问题,但是发现获取不到formdata上传的文件

后经查资料,改用 koa-body 解决:

constkoaBody = require('koa-body'); appuse(koaBody({ multipart:true, formidable: { maxFileSize:20010241024//设置上传文件大小最大限制,默认2M} }))

然后就可以在 ctxrequestfiles 里面获取到上传的 文件信息了。ctxrequestfiles 为一个对象,里面包含一个 file 字段(为你前端上传定义的值),值为文件信息,主要是文件name和path,path为临时存储路径。

二、解析xlsx文件信息

主要使用模块 node-xlsx :npm i xlsx --save

1、加载模块

使用模块:fs--主要用于写入文件;node-xlsx主要用于转换xlsx数据和读取xlsx的文件数据;

constfs = require('fs')constxlsx = require('node-xlsx');//读写xlsx的插件

2、读取功能

读取功能相对简单,直接使用模块的 prase(路径) 方法就能读取

let list = xlsxparse("/doc/helloxlsx");

返回结果,name:表名,data:二维数组。(由于Excel以表格的形式表示,因此表格的数据都是通过二维数组进行接收。)

需要注意的是:data里的第一行数组为表头的信息

[ { name:'firstSheet', data: [ [Array], [Array] ] }, { name:'secondSheet', data: [ [Array], [Array] ] } ]

3、写入功能

写入功能,对应的写入数据与上面读取功能的返回格式需要一致,以数组的形式,name:表名,data:二维数组(Excel每行每列的数据)

如下面代码,生成一个Excel文件,分别两张表,表名分别是firstSheet,secondSheet

let xlsxObj =[ { name:'firstSheet', data: [ [1,2,3], [4,5,6] ], }, { name:'secondSheet', data: [ [7,8,9], [10,1,12] ], } ]

生成Excel文件:

fswriteFileSync(路径,Buffer数据)

xlsxbuild(xlsxObj) 会将数组转换为Buffer数据

执行下面代码就会生成对应的Excel文件

fswriteFileSync('/doc/helloxlsx', xlsxbuild(xlsxObj),"binary")

<!DOCTYPE html>  

<html xmlns=" >

1、首先需要创建aspnet mvc的空项目MVCForm。

2、在Models文件夹下面添加一个类文件Employee,用于form表单中字段绑定与提交,其中涉及到int、string、bool多种类型的字段。

3、在Controllers文件夹下面添加一个HomeController,用于接收与处理页面请求,此时就直接添加一个控制器即可,默认就有Index Action。

4、在HomeController的Index方法中点击右键,添加视图,会自动生成与Action相同名字的页面。

5、在Index页面中添加Form表单,包含Models文件夹下Employee实体的所有字段,同时,添加一个提交form的按钮。

6、在HomeController中添加一个用于接收页面form参数的方法。

7、调试模式下运行效果如下,页面表单数据都提交到了Controller中且取的返回值。

以上就是关于获取数值的表单JS 怎么写呢全部的内容,包括:获取数值的表单JS 怎么写呢、node.js解析excel大文件的问题、如何在js中接收后台传来的数组等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/10093787.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存