request.form只能取得input或者说本身带有name属性的元素吗如果想获取div或table的值能做到吗

request.form只能取得input或者说本身带有name属性的元素吗如果想获取div或table的值能做到吗,第1张

这个不是能不能取到的问题,而是浏览器是否会发送的问题除表单元素以外的任何内容,浏览器都不会将它发送到服务器端,那么你如论如何也是取不到的如果想实现你的想法,可以在前端用JS将你要发送的内容通过URL参数或是hidden表单元素值提交到服务器

我们先看一个小例子:

html代码:

需求:是获取form表单中的用户名和密码并包装成一个对象

这个需求是我们大部分时候在发送ajax请求时需要做的一个工作。

传统JS写法:

看一下效果:

可以看到,我们已经实现了需求,但是我们写的JS代码很繁琐,我们需要先获取form表单中input框元素,然后元素的value值,最后包装成一个对象

FormData的JS写法:

效果如下:

通过这个例子你应该能感受到FormData的便利性,只需要 new FormData(form) 一句代码就可以把form表单内的所有信息都以键值对的形式包装成一个对象返回。

FormData对象是用来将form表单数据编译成键值对,这么做有两个好处:

FormData的常用 *** 作方法:

FormData对象可以帮我们更方便的收集表单数据并中的整理成对象,大大方便了我们发送ajax请求。

可以获取form对象,然后获取它的所有子元素,并判断元素类型是不是input或select

1

2

3

4

5

6

7

8

var ff=documentforms[0];

for (var i=0;i<ffelementslength;i++)

{

var ee=ffelements[i];

if("INPUT"==eetagName||"SELECT"==eetagName){

//处理代码

};

}

不是接不了,是你根本就没传值过去。

你虽然写了个form,但form里并没有传递任何的东西。

如果你希望传递商品名称你可以写成:outprintln("商品名称:<input type='text' name='fname' value='“+persongetFname()+”'>");

其他类似。

补一下html,表单方面的内容吧。

另外你写jsp也可以用html代码和java代码混写,这样全部内容用out输出还不得累死。

以上就是关于request.form只能取得input或者说本身带有name属性的元素吗如果想获取div或table的值能做到吗全部的内容,包括:request.form只能取得input或者说本身带有name属性的元素吗如果想获取div或table的值能做到吗、前端小技巧:学会用FormData对象收集表单数据、怎样获取form下所有的input等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址: http://outofmemory.cn/web/9596356.html

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

发表评论

登录后才能评论

评论列表(0条)

保存