請問如何實現double click menu才能顯示Form |
尚未結案
|
Marti
一般會員 發表:5 回覆:5 積分:2 註冊:2002-03-22 發送簡訊給我 |
用IWMenu制作的菜单,在浏览器中显示每一项子Form均只需点击一次菜单项就可以,可是由于http://delphi.ktop.com.tw/topic.php?TOPIC_ID=54159的问题,遂放弃使用IWMenu来制作菜单,改用JS编制菜单.这样就存在JS与Delphi之间数据交互的问题.通过定义一个HiddenFields("WhichOne"),并在每一个菜单项上调用JS函数ItemSelected(x) {
var s=LocateElement("WhichOne");
switch (x) {
case '1':s.value='1'; break;
case '2':s.value='2'; break;
case '3':s.value='3'; break;
case '4':s.value='4'; break;
case '5':s.value='5'; break;
}
SubmitForm.submit();
return true;
}
x为各菜单项的编号,A菜单为1,B菜单为2,诸如此类,并在服务器端调用WebApplication.Request.ContentFields.Values['WhichOne']赋值,可以让Delphi准确知道客户端究竟点选的是哪一个菜单项,并显示相应的子Form.将如上的代码及显示子页面的代码定义在IWAppFormRender或IWAppFormAfterRender事件内,编译运行,发现通过菜单显示所有的子页面,均需要点选两次才能进入相应页面.Debug调试,发现程序也确实每次都运行了Show出Form的代码,可就是第一次选择怎么也不显示相应的界面,郁闷中...后查找Intraweb资料,得知IWAppForm的显示调度是由一个叫Form List的东东来维护,那么我第一次点了JS菜单的某一个菜单项,只是告诉Form List我接下来要显示的是哪一个Form(这从第二次点选一个不同于第一次点选的菜单上可以得到确认),第二次选择才是真正的要动作!哇塞,晕,狂晕,我的程序怎么办?有没有其它技巧可以解决这个问题? 企盼各位大大能给予关注和解答!
|
Marti
一般會員 發表:5 回覆:5 積分:2 註冊:2002-03-22 發送簡訊給我 |
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |