首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

Jquery 整合struts1.2 传参数的有关问题(续)

2012-01-08 
Jquery 整合struts1.2 传参数的问题(续)var item $(input[@nameduration][@checked]).val()$(#show

Jquery 整合struts1.2 传参数的问题(续)
var item = $('input[@name=duration][@checked]').val();
$('#showForm').action = "/action/employee.do?method=queryPersonalMeasure&duration_id='"+item+"'"+'&duration_id1='+item;
$('#showForm').submit();

后台request.getParamter("duration_id") 死也获取不到参数,大家有没有碰到过。。。。。。。。。。。。。。

Jquery和struts1.2整合后,Form提交时,如何把参数带过去,注意:不是Ajax,就是一般的提交到后台处理,为什么用上面那种写法,参数无法取到呢?加了个Jquery,连struts以前form.action 指定URL(包括参数)然后submit()就不行了呢?


分不够再加

[解决办法]
'"+item+"'"+'&duration_id1='+item;
为何要加单引号呢。
看你的提交路径是否正确
[解决办法]
你用alert把item值打印出来看下有没有值
[解决办法]
关注中.......
[解决办法]
$('#showForm').action = "/action/employee.do?meth.......

你这么写是在showForm的映射的jquery对象加上了一个action属性,而不是对原始的DOM对象form中的action中赋值,所以你这么写和没写一样

你要么document.getElementByID('showForm').action=.....
要么$('#showForm').get(0).action=......

其中get()方法是取到jquery中的原始DOM对象,具体用法请查一下API

另:那个ITEM不能加引号,否则你取的值就永远是item字符串了

[解决办法]
Jquery 没用过,帮LZ顶下。。。。。。。。。
[解决办法]
$('#showForm').action = "/action/employee.do?method=queryPersonalMeasure&duration_id='"+item+"'"+'&duration_id1='+item; 

改成:

var str = "/action/employee.do?method=queryPersonalMeasure&duration_id='"+item+"'"+'&duration_id1='+item;
$('#showForm').attr("action",str);
[解决办法]
1 请把单引号去掉

2 jquery新版本(似乎是1.2.6以后)已经不支持@形式,请吧@去掉,改为
var item = $('input[name=duration][checked]').val(); 

3 如果是checkbox,该语句只能得到第一个值
[解决办法]
form的action属性不能加参数。。
为每个参数提供一个隐藏表单域, 使用jQuery动态修改他就行了..

[解决办法]

探讨
你说的不对,这样可以提交,参数可以传递,我本机可以了,不过传过去的URL参数,变量名给我改了名字,变量名是单选按钮的ID,而不是我自己手写的duration_ID

[解决办法]
up............
[解决办法]
var item = $('input[name=duration][checked]').val(); 
var item = $('input[name=duration]:checked')得到的是一个数组对象。 

[解决办法]
学习.
[解决办法]
1 请把单引号去掉 

2 jquery新版本(似乎是1.2.6以后)已经不支持@形式,请吧@去掉,改为 
var item = $('input[name=duration][checked]').val(); 

3 如果是checkbox,该语句只能得到第一个值
[解决办法]
楼主的传递方式是错误的,post传递的都是单值的,只不过是如果key相同的话,后台可以用数组方式接收
不是传递javascript的数组,而是这种形式传递参数
url: url+"/action/manager.do",
data: 'str=a&str=b&str=c......', 

这样后台用String str[] = request.getParameterValues("str");不会有问题
[解决办法]
response.setHeader("Content-Type", "text/plain;charset=UTF-8"); 设置的有问题,不是文本时json
另外调试一下,返回的是否是json的规则



既然值传递一个符号,为何要用json ?
直接

Java code
response.setContentType("text/json");response.getWriter().print(flag);
[解决办法]
var datastr="EmployeeCD="+emc+"&eTime="+nowDate+"&UserCD="+userCD+"&sTime="+MathDate(nowDate,30);
$.ajax
{
url:'existCheck.action',
type: "POST",
dataType:"resposeText",
data:datastr,
success:function(msg) {//success 
 
var contents = eval('(' + msg + ')');
$("#existlFlg").val(contents.existFlg);
}
},
error:function(){
alert("error");
)
这个是我用的一个方法 不知道对楼主有没有帮助 返回的数据类型msg是json类型的 我转换了一下 如上面的可以直接获得contents.你返回的属性名 至于程序跑到eroor那里 原因有好几种可能,struct 的配置,后台代码的错误都会导致ajax返回的状态错误 这个得你自己调查了
[解决办法]
看来LZ是没怎么用过JQUERY,建议你查一下API
[解决办法]
<action name="existCheck" class="DailyReport.DailyReportSubmitAction" method="ExistCheck">
<result type="json"></result>
</action>
返回结果类型 设置了吗 json类型的
[解决办法]
up
[解决办法]
hao 谢谢
[解决办法]
jquery 新手 飄過﹗﹗
幫頂﹗
[解决办法]
var item = $('input[@name=duration][@checked]').val(); 
$('#showForm').action = "/action/employee.do?method=queryPersonalMeasure&duration_id='"+item+"'"+'&duration_id1='+item; 
$('#showForm').submit();
[解决办法]
MARK
[解决办法]
.
[解决办法]
确实好像有这问题的,谢谢分享
[解决办法]
你将msg打出来,如果是parserror的话,证明你传到页面的json数据有错,dataType设为json的话,jquery会自动先将后台传来的值按JSON格式转化为javascript对象。

程式没有异常,返回状态为 200只能证明ajax调用没有错而已,但jquery本身又对ajax的原生调用包装了一层
[解决办法]
f
[解决办法]
没有用过,帮顶起了
[解决办法]
回帖是一种美德!每天回帖即可获得 10 分可用分!

热点排行