struts中下拉列表的onchang事件执行actiong的用法100分

koj5201314 2007-07-12 01:00:46
我在做项目中遇到的的情况是 是用SSH框架做的
一个页面有2个下拉列表框 一级类别的二级类别 现在是要通过选择一级类别而获得
相应的二级类别 我的想法是在下拉列表的onchang事件中调用一个action获得一个
二级类别的list,但我试了onchang="/**.do"这样执行不了 页面的提示错误是onchang="/**.do"少了个“/”符号 我改城onchang="//**.do"后就没这个页面错误
但我们都知道虽然没错误但action是绝对执行不了 所以这样也不行
我又想了一个方法绝对这个问题 但我绝对这个方法还是感觉不怎么好
大家可以看看 如果大家有更好的方法可以提出来 共同进步
这是javascript函数
function getname{
this.frm1.select.options[..] 省//这行代码是获得select里面被选种的option的value
//下面是调用action关键代码了
window.open("你要调用的action如:???.do ,并可以你获得传递参数");
}
好调用action没问题了
下面是也面的struts标签
当然还有些逻辑标签用于判断onetype,twotype存在的我就没写了
onetype,twotype这2个对象集合当然都是从数据库里读出来的 不是死的数组
我主要写主要代码
<html:select property="select" onchang="retrun getname();">
<html:option name="onetype"property="onetypename"></html:option>
</html:select>

<html:select property="select">
<html:option name="twotype"property="twotypename"></html:option>
</html:select>
这个功能我用aps.net写只用了10分钟
在asp.net里面只要在页面加栽的时候判断是否为回发页面并在下拉列表里的onchang事件从数据库里读出数据就可以了,注意asp.net的控件他自己自带事件的
...全文
317 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiuqiupeng 2007-07-12
  • 打赏
  • 举报
回复
看看onchange()事件的struts的源代碼你會發現問題,或者看看jsp容器解析后的java文件,你會發現問題,把workDir設置到你的工程下面的work里面,你可以利用IDE來幫你找到錯誤!并且可以看到struts的標簽是怎樣定義和實現的,另外你還可以參考struts文檔
shan1119 2007-07-12
  • 打赏
  • 举报
回复
粘贴错了,这个.
document.frm1.action = "/action.do";
document.frm1.submit();
shan1119 2007-07-12
  • 打赏
  • 举报
回复
document.frm1.action = "/action.do";
document.StartForm.submit();
zhao_tk 2007-07-12
  • 打赏
  • 举报
回复
错了。.呵呵.
二及页面 应该改为二及下拉列表框
zhao_tk 2007-07-12
  • 打赏
  • 举报
回复
不对吧
当onchang事件触发的时候你根本没调用action啊
你只是返回了一参数opertaion啊?
function change(){
operation = "change";
document.forms[0].submit(); //此处的opertion要在页面隐藏一下,可在ActionForm中定义
}
onchang事件触发后又没让表单执行他的actiong="??.do" ,只执行了你自己写的JS函数而已吧?

你可以提交表单啊,得到二及页面的数据再返回这个页面。
koj5201314 2007-07-12
  • 打赏
  • 举报
回复
zjf405(疯狂的石头:站得更高,才能看得更远!)
java里的ajax怎么实现这个功能 ?
koj5201314 2007-07-12
  • 打赏
  • 举报
回复
不对吧
当onchang事件触发的时候你根本没调用action啊
你只是返回了一参数opertaion啊?
function change(){
operation = "change"; //此处的opertion要在页面隐藏一下,可在ActionForm中定义
}
onchang事件触发后又没让表单执行他的actiong="??.do" ,只执行了你自己写的JS函数而已吧?
zjf405 2007-07-12
  • 打赏
  • 举报
回复
下拉列表的连动怎么不用ajax~
Dragon_sxw 2007-07-12
  • 打赏
  • 举报
回复
可以用javascript来处理
function change(){
operation = "change"; //此处的opertion要在页面隐藏一下,可在ActionForm中定义
}


页面中 onchang=“function change()”

action中
if(opertaion.equals("change")){
得到你的list,然后用request.setAttribute()返回给页面就OK了
}

81,115

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧