java吧 关注:1,178,599贴子:12,569,006
  • 27回复贴,共1

萌新问一下关于动态创建的表单,name值不固定,如何提交到后台?

只看楼主收藏回复

正在做的一个项目,后端框架为ssm。前段为easyui和jQuery。现在是需要在页面上动态加载一些多选框,单选框和文本框,这些数据都存在表的Options字段内的。表如下:通过attr_type区分单选还是多选文本框。
我在js层拼接的代码是这样子的:先布局

分别对应类型格式化数据

这个是字符串拼接的单选框

大概都是拼接的。。。 效率很低
页面虽然能展示出来数据,但是提交的时候就**了...
页面是这样子的:

单击多选框审查元素会发现name值是我后台取的值attr_code(当然也可以设置成表的attr_name):

这就是我不知道怎么办的地方了。 这个name值是动态加载的,表单序列化以后提交到后台,后台的Bo类里不会有相应的字段来接它...(因为是表里动态加载的数据)
下面是我试着提交的数据:

通过F12查看发生的请求头,动态加载的<input>内容都是以attr_code:数据 的形式发送的...,只有固定写死的goodsid,shopcode这些才是固定的,Bo包里才有对应字段。

其余动态加载的内容后台根本得不到数据(蓝色是前台name值固定的数据):

现在我想问问就动态加载的那些内容我该如何提交到后台让后台能够获取到值呢?Bo包里该建什么东西呢?需要Bo里建对象还是集合吗?
希望能说的详细一点,我太萌新怕弄不懂了....


IP属地:重庆1楼2018-05-02 23:47回复
    据说大佬都是晚上修仙,怎么不见个人?


    IP属地:重庆来自Android客户端2楼2018-05-02 23:58
    回复
      有熟悉框架的大佬么?这个该用什么思路去解决啊?


      IP属地:重庆来自Android客户端5楼2018-05-03 06:50
      回复
        没遇到过类似的问题。
        不过我觉得你可以设置成ajax提交,datatype为text,这样后台直接接json字符串接并且解析。


        IP属地:辽宁来自Android客户端6楼2018-05-03 08:03
        回复(2)
          你让name不同不就ok了吗?


          IP属地:湖北7楼2018-05-03 09:19
          回复(4)
            这是我提交的js,用的ajax提交,表单序列化为对象。

            这是后端controller层对应的方法,用的是自建的Bo类,Bo类在下面

            这是上面用到的ListOfGoodsBo,里面需要添上面东西吗?


            IP属地:重庆8楼2018-05-03 09:20
            回复





              IP属地:江苏9楼2018-05-03 09:32
              收起回复
                这个序列化了就成了个对象了,图二是console的展开。




                IP属地:重庆10楼2018-05-03 09:39
                回复
                  接受request对象,遍历里面的参数,只有这个办法了,因为你name是不固定的,但框架就是按属性名跟参数名对应的原则封装


                  IP属地:广东来自iPhone客户端11楼2018-05-03 17:29
                  回复
                    虽然不顾定,但总有规律,按照规矩搞就行了,楼上几个大佬都说得很清楚了


                    IP属地:陕西来自iPhone客户端12楼2018-05-03 17:35
                    回复
                      玛德。。这么多滑稽。。加油自己解决吧吧


                      IP属地:浙江来自Android客户端13楼2018-05-04 09:04
                      收起回复
                        json传,json解


                        IP属地:北京14楼2018-05-04 09:42
                        回复
                          根据楼上的大神们的一些方法,现在我顺利的获取到了一部分数据了,还是通过先sql找到需要的attr_code,然后在request里遍历获取一下。现在单选框的值和文本框出来了,就剩多选框了。代码发在楼下。
                          这是界面:
                          这是后台获取的值,就是多选框传回的是素组,只能取得第一个....


                          IP属地:重庆15楼2018-05-04 12:37
                          回复
                            这是从requst里getParameter到的String数据,单选框和文本框都能取到。但是多选框创回来的是code[]:红 code[]:黄这种形式的.... getParameter只取得到第一个,本想getAttribute直接取到数组,结果取的都是null.. 是不是需要在前端把多选框拼凑成字符串再传回来?
                            这是传到服务器的数据:


                            IP属地:重庆16楼2018-05-04 12:44
                            回复
                              抱歉,9楼大佬已经把接数组的方法说了,而且还用红框标注了。我真是眼瞎....
                              现在已经能够在后头获取到数据了,剩下就是自己慢慢码了。感谢各位大佬们的帮助~
                              祝你们天天有美女环绕~~

                              此贴终结。


                              IP属地:重庆17楼2018-05-04 12:57
                              回复