壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1525|回复: 4

[OAF] 【请教】OAF怎样生效js脚本

[复制链接]
发表于 2009/9/10 14:05:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
oracle ERP的培训模块是OAF开发的,其中有部分功能会调用javascripts脚本,其中部分代码见下:
// Referenced classes of package oracle.apps.ota.player.webui:
//            PlayerCO, AttemptCO

public class PlayerMainCO extends PlayerCO
    public void processRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
    {
...........
        String s1 = oapagecontext.getParameter("action");
        //startingUrl参数由页面调用ota_play.js的exit(false)传送过来,目前我可以得到这个参数值,但我每次修改js脚本中的参数值进行测试时,参数值不能生效,请教各位达人在OAF中生效js脚本的方法,下附部分源码
        String startingUrl = oapagecontext.getParameter("startingUrl");
        System.out.println("s1---->"+s1+"\nstartingUrl---->"+startingUrl);
        if(s1 == null)
            s1 = "start";
        if("home".equals(s1))
        {
            goHome(oapagecontext, s);
            return;
        }
        StringBuffer stringbuffer = new StringBuffer();
        stringbuffer.append(getBeginHTMLTag(oapagecontext));
        stringbuffer.append("<head>");
        stringbuffer.append("<META http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">");
............
            s3 = getStartingUrl(oapagecontext, oawebbean);
............
            s3 = s3 + "?ef=2/uid="+oapagecontext.getUserName()+"/sid="+oapagecontext.getSessionId();
            System.out.println("number3--->"+number3+"\ns3--->"+s3+"\nflag--->"+flag+"\nmNewLearningObjectId--->"+mNewLearningObjectId);
            stringbuffer.append("<script src=\"ota_play.js\" language=\"JavaScript\"></script>");
            stringbuffer.append("<script language=\"JavaScript\">");
............

Desktop.rar

7.84 KB, 下载次数: 10, 下载积分: 努力值 -5 点

 楼主| 发表于 2009/9/11 09:57:02 | 显示全部楼层
没人顶自己顶
发表于 2009/9/11 10:42:07 | 显示全部楼层
OAF中的CO中使用js是有规范的,必需得让OAF能识别这个js才行,而不是直接拼出代码就可以。
比如下面,首先注册一个js函数 isCreateWorkOrder,然后再绑定按钮的事件来调用这个js函数
String javaScript="javascript:function isCreateWorkOrder()"+
                         "{if (document.getElementById('mcWorkFlowStep')!=null){ if (document.getElementById('mcWorkFlowStep').value='SE_RESULT_QXSQ_XD'){"+
                         "if(confirm('\u662f\u5426\u8981\u751f\u4ea7\u5de5\u5355?'))"+
                         "{if (document.getElementById('mcWorkFlowStep')!=null) {document.getElementById('mcWorkFlowStep').value='SE_RESULT_QXSQ_XD_WO'};}"+
                         "else"+
                         "{if (document.getElementById('mcWorkFlowStep')!=null) {document.getElementById('mcWorkFlowStep').value='SE_RESULT_QXSQ_XD'}}"+
                         "}}}";
     pageContext.putJavaScriptFunction("isCreateWorkOrder",javaScript);     
     OASubmitButtonBean registerbutton = (OASubmitButtonBean)webBean.findChildRecursive("Apply");
     if(registerbutton!=null)
     {
         registerbutton.setOnClick("javascript:isCreateWorkOrder()");
     }
 楼主| 发表于 2009/9/14 16:42:23 | 显示全部楼层
老蓝没有明白我的意思,我的那段代码是有效的,OAF也能识别,我的问题是怎么让OAF快速识别js脚本,还是谢谢老蓝的解答,这个问题已经弱弱的解决了
发表于 2009/9/15 16:04:49 | 显示全部楼层
看来我确实没有明白你的意思,我到现在还没有完全明白...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 19:27 , Processed in 0.016288 second(s), 15 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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