问题描述
我用jquery在页面上动态生成input框input框的name属性也指定了我用的ssh框架但是我在后台写ServletActionContext.getRequest().getParameter("名字");取到的都是null最后没办法就用jquery把值先获取然后赋值给隐藏input再到后台读值请问一下为什么直接在后台不能取到值呢~~
解决方案
解决方案二:
getRequest()后价格getSession试一试
解决方案三:
用什么方式提交的表单?get方式肯定是获取不到的,post才会所有表单元素值request里面可以取$.ajax{url:XXXXX.jspmethod:"POST"---这里定义提交的方式,如果你是普通表单提交记得<formmethod="POST"}
解决方案四:
引用2楼qingyuan18的回复:
用什么方式提交的表单?get方式肯定是获取不到的,post才会所有表单元素值request里面可以取$.ajax{url:XXXXX.jspmethod:"POST"---这里定义提交的方式,如果你是普通表单提交记得<formmethod="POST"}
就是用的post没用ajax提交就是普通的form提交
解决方案五:
动态生成的input框在<form></form>内部了么
解决方案六:
引用4楼wanghualeilei的回复:
动态生成的input框在<form></form>内部了么
在的
解决方案七:
你把你动态生成的代码贴出来
解决方案八:
name属性保证唯一性,在form表单里动态生成,post提交是可以的,我当时用的也是ssh,action里有name属性的set、get方法就可以了
解决方案九:
引用6楼wxdawxq的回复:
你把你动态生成的代码贴出来
代码如下js部分$(function(){$("#add").click(function(){varcount=parseInt($("#count").val())+1;$("#count").val(count);varnewInput='简介<inputtype="text"name="pintroduce'+count+'"/><br/>';$("#new").append(newInput);});});jsp部分<s:formid="addPlannerForm"action="addPlanner"method="post"namespace="/fwadmin"enctype="multipart/form-data"><inputtype="hidden"value="0"id="count"name="count"/><inputtype="hidden"name="introduce">姓名<inputtype="text"name="pname"/><br/>性别<inputtype="text"name="psex"/><br/>照片<inputtype="file"name="pimg"><br/>简介<inputtype="text"name="pintroduce0"/><inputtype="button"value="新增"id="add"/><spanstyle="color:red;">*为了方便微信显示一个框只能输入一条简介若有多条请点击右侧新增按钮</span><br/><divid="new"></div>职称<inputtype="text"name="plevel"/><br/><inputtype="submit"value="提交"id="tijiao"/></s:form>后台读取部分//这里就写一个读取name为pintroduce1的input为例子就不遍历所有的了ServletActionContext.getRequest().getParameter("pintroduce1");这样获取的值都是null后来我在页面上写了个hidden然后把值赋值给hidden才传过去了==
解决方案十:
先用ServletActionContext.getRequest().getParameterNames()把name名字打印出来看看,你的描述中没找到问题,理论上应该可以你看看是不是有什么地方写错了。
解决方案十一:
引用7楼lgc8023的回复:
name属性保证唯一性,在form表单里动态生成,post提交是可以的,我当时用的也是ssh,action里有name属性的set、get方法就可以了
我这个name是不固定的后台不好setget然后我就想那就用servlet获取好了结果是null
解决方案十二:
引用9楼lhonglei的回复:
先用ServletActionContext.getRequest().getParameterNames()把name名字打印出来看看,你的描述中没找到问题,理论上应该可以你看看是不是有什么地方写错了。
都打印出来过的各种打印jsp上原来的input是可以用这个方法取到值的但是我动态生成的就不行
解决方案十三:
你用火狐的firebug跟踪一下,看下数据是否被成功post到后台
解决方案十四:
name只使用一个,不要搞那么多,后台通过名字可以取一组数据
解决方案十五:
enctype="multipart/form-data"一般上传文件的时候才这么写吧
解决方案:
引用13楼XUECHANG1的回复:
name只使用一个,不要搞那么多,后台通过名字可以取一组数据
这样啊还真不知道谢谢啦
解决方案:
引用14楼u012171905的回复:
enctype="multipart/form-data"一般上传文件的时候才这么写吧
有一个上传照片的功能