起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1130|回复: 6

[结贴] 调用子窗口,父窗口传参数给子窗口无效

[复制链接]

46

主题

189

帖子

1218

积分

金牌会员

Rank: 6Rank: 6

积分
1218
QQ
发表于 2014-3-4 20:08:03 | 显示全部楼层 |阅读模式
版本: X5.2.6 小版本号:
数据库: MS SQLServer 服务器操作系统: Windows 应用服务器: Tomcat
客户端操作系统: Windows 其它 浏览器: Chrome
本帖最后由 lxl8611 于 2014-3-4 20:09 编辑

父窗口代码:
  1. att_cancelleave.wdSearchBillsSend = function(event){        
  2.         return {
  3.                 "BillType" : MData.getValue("fSourceBizType"),
  4.                 "PersonID" : MData.getValue("fApplyPsnID")
  5.                
  6.         };        
  7. };
复制代码
子窗口代码:
  1. acceptParentParamsFun = "acceptData";

  2. function acceptData(data) {
  3. debugger;
  4. PersonID = data.PersonID;
  5. BillType=data.BillType;
  6. if (PersonID==null || PersonID==""){
  7. alert("获取人员ID失败,请刷新网页重新登录!!!");
  8. return;
  9. }
  10. if (BillType==null || BillType==""){
  11. alert("获取单据类型参数失败,请重试!!!");
  12. return;
  13. }
  14. strFilter=" OA_AttMaster.fBIZKIND='"+BillType+"' and OA_AttMaster.fApplyPsnID='"+PersonID+"'";
  15. var data = justep.xbl("dSearch");
  16. data.filters.setFilter("strFilter", strFilter);
  17. data.refreshData();
  18. }
复制代码
子窗口js引用:
  1. <xui:resource id="resource1"><xhtml:script id="htmlScript1" src="searchBills.js"></xhtml:script>
  2.   <xhtml:script id="htmlScript2" src="/UI/appCommon/js/appCommon.js"></xhtml:script>
  3.   <xhtml:script id="htmlScript3" src="/UI/system/components/windowDialog/FrameWindow.js"></xhtml:script>
  4.   <xhtml:script id="htmlScript6" src="/UI/system/components/windowDialog/windowDialogReceiver.js"></xhtml:script>
  5.   <xhtml:script id="htmlScript4" src="/UI/system/components/dialog/dialog.js"></xhtml:script></xui:resource>
复制代码
1.png
子窗口打开的时候,过滤条件没有生效,调试发现acceptData(data)那段代码没有进去,不知道哪里出了问题,麻烦帮忙看一下。。

复制代码

109

主题

1191

帖子

3851

积分

论坛元老

Rank: 8Rank: 8

积分
3851
QQ
发表于 2014-3-4 21:09:25 | 显示全部楼层
子窗口要用windowReceiver组件接收主窗口传过来的参数和返回参数个主窗口
拖个windowReceiver组件在组件的onReceive事件中接收 alert(event.data);
event.data里面就是主窗口中传过来的数据

评分

参与人数 1 +4 收起 理由
jishuang + 4 赞一个!

查看全部评分

回复 支持 反对

使用道具 举报

998

主题

4330

帖子

1万

积分

论坛元老

Rank: 8Rank: 8

积分
10732
QQ
发表于 2014-3-4 21:22:45 | 显示全部楼层
把acceptData放在model的XBLLoaded事件中
孤舟蓑笠翁,独钓寒江雪。
X5牛刀交流民间第一群:30057529
提供有偿服务,联系WX:18332024
bex5疑难问题解决方案
回复 支持 反对

使用道具 举报

46

主题

189

帖子

1218

积分

金牌会员

Rank: 6Rank: 6

积分
1218
QQ
 楼主| 发表于 2014-3-5 09:19:48 | 显示全部楼层
MaHZ 发表于 2014-3-4 21:09
子窗口要用windowReceiver组件接收主窗口传过来的参数和返回参数个主窗口
拖个windowReceiver组件在组件的o ...

放了windowReceiver,事件代码:
  1. searchBills.windowReceiver1Receive = function(event){
  2. debugger;
  3.        
  4.         var parentMsg = new Array(2);
  5.         parentMsg = event.data;
  6.         alert('主窗口传来的数据为'+parentMsg[0]+','+parentMsg[1]);//主窗口传来的数据
  7. };
复制代码
调试还是没有进到块代码里面。。。
回复 支持 反对

使用道具 举报

88

主题

9507

帖子

5135

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
5135
QQ
发表于 2014-3-5 09:26:10 | 显示全部楼层
你好楼主,该问题需要远程,已经通过技术服务QQ加你为好友了,请及时通过,我们会尽快QQ远程。
远程的联系方法 QQ 728094812。添加好友时,需要填写论坛账号
发远程时同时也发一下帖子的地址,方便了解要解决的问题

如按照该方法解决,请及时跟帖,便于版主结贴
回复 支持 反对

使用道具 举报

109

主题

1191

帖子

3851

积分

论坛元老

Rank: 8Rank: 8

积分
3851
QQ
发表于 2014-3-5 09:39:39 | 显示全部楼层
lxl8611 发表于 2014-3-5 09:19
放了windowReceiver,事件代码:调试还是没有进到块代码里面。。。

把windowReceiver组件放在rootView的布局下面
回复 支持 反对

使用道具 举报

46

主题

189

帖子

1218

积分

金牌会员

Rank: 6Rank: 6

积分
1218
QQ
 楼主| 发表于 2014-3-5 09:50:20 | 显示全部楼层
zhaixin 发表于 2014-3-5 09:26
你好楼主,该问题需要远程,已经通过技术服务QQ加你为好友了,请及时通过,我们会尽快QQ远程。 ...

问题已解决,取消/UI/system/components/windowReceiver/windowReceiver.js引用,在窗口上放windowReceiver控件,在控件的windowReceiver写接收父窗口参数及data初始化过虑,取消了acceptParentParamsFun = "acceptData";这样的写法,谢谢。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2024-5-18 05:24 , Processed in 0.126416 second(s), 32 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表