- JScript code
handler:function() { var radios= new Array(); for (i=1;i<=5;i++){ alert(form1.getForm().getValues()["rad"+i]); radios[i]=form1.getForm().getValues()['rad'+i]; } alert(radios); form1.getForm().submit({ url : 'kfqa.do?actionsign=input', method : 'post', Params:{radios:radios}, waitMsg:'正在新增...', success : function(form1,action) { if(action.result.success) {Ext.Msg.alert('提示信息',action.result.msg);} else{Ext.Msg.alert('提示信息',action.result.msg); } }, failure : function(form1,action) { Ext.Msg.alert('提示信息',action.result.msg); } }); }
在js里面我已获得数组radios 如何通过post方式 将 Params:{radios:radios},提交到后台?
单个变量我能用
- Java code
private String radio; public String getradio(){ return radio;}
获取
但是数组不能用
- Java code
private String[] radios; public String[] getallradio(){ return radios;}
------解决方案--------------------
ext js 到底还是js,因此还是要遵循的js的规则,
我们不难而知 在jsp中提交时从页面到java类 数组 等复杂的 类型是传不过去类型
因此在extjs 也是传不过去的
解决方法: 第一 (拼接后的)传字符串过去
第二:封装成bean 传过去(struts) bean中有定一个radios[] 即可
------解决方案--------------------
将数组的每个元素做成一个复选框,选中要传的值后表单提交 在后台调用resuest.getParameterValues()方法,返回的倒是一个String类型的数组 不过好像这样做没意义了