Xpages按钮不适用于IE

时间:2015-10-08 13:21:31

标签: internet-explorer button xpages explorer lotus

我的xpages端有几个按钮(openpage,savedocument,cancel,response)。所有这些都适用于Firefox和Chrome,但不适用于Internet Explorer。但是有一个上传文件按钮,它可以工作。这是我在IE页面上唯一的按钮,但我不知道为什么。自定义控件中有链接,它们可以正常工作。

服务器:Lotus Domino 8.5.3 FixPack6,IE11。

有什么想法吗?

有问题的代码段:

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">
    <xp:this.data>
        <xp:dominoDocument var="document1" formName="document_form"></xp:dominoDocument>
    </xp:this.data>
    <xp:button value="Save" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action>
                <xp:saveDocument></xp:saveDocument>
            </xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:button value="Cancel" id="button2">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action>
                <xp:actionGroup>
                    <xp:setComponentMode cancel="true" mode="edit">
                    </xp:setComponentMode>
                    <xp:openPage name="$$PreviousPage">
                    </xp:openPage>
                </xp:actionGroup>
            </xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:br></xp:br>
    <xp:br></xp:br>
    <xp:table>
        <xp:tr>
            <xp:td>
                Subject:
            </xp:td>
            <xp:td>
                <xp:inputText id="inputText1" value="#{document1.Subject}"
                    style="width:684.0px">
                    <xp:this.defaultValue><![CDATA[#{javascript:if(document1.isResponse() == true){
    var response = "   -   Response to ";
    return response+session.getCurrentDatabase().getDocumentByUNID(document1.getParentId()).getItemValue("Subject").toString();
}}]]></xp:this.defaultValue>
                </xp:inputText>
            </xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td>
                Workpackage:
            </xp:td>
            <xp:td>
                <xp:comboBox id="comboBox1" value="#{document1.work_group}"
                    rendered="#{javascript:!document1.isResponse();}">
                    <xp:this.defaultValue><![CDATA[#{javascript:if(document1.isResponse() == true){
    var response = "   -   Response to ";
    return response+session.getCurrentDatabase().getDocumentByUNID(document1.getParentId()).getItemValue("Subject").toString();
}}]]></xp:this.defaultValue>
                    <xp:selectItem itemLabel="-" itemValue="-">
                    </xp:selectItem>
                    <xp:selectItems>
                        <xp:this.value><![CDATA[#{javascript:if(context.getUser().getRoles().contains('[wp1]')){
    var myOpt = new Array();
    myOpt[0] = "Workpackage1";
}else if(context.getUser().getRoles().contains('[wp2]')){
    var myOpt = new Array();
    myOpt[0] = "Workpackage2"
}else if(context.getUser().getRoles().contains('[wp_all]')){
    var myOpt = new Array();
    myOpt[0] = "Workpackage1"
    myOpt[1] = "Workpackage2"
    myOpt[2] = "Workpackage3"
    myOpt[3] = "Workpackage4"
    myOpt[4] = "Workpackage5"
    myOpt[5] = "Workpackage6"
    myOpt[6] = "Workpackage7"
    myOpt[7] = "Workpackage8"
}
return myOpt;}]]></xp:this.value>
                    </xp:selectItems>
                    <xp:eventHandler event="onchange" submit="true"
                        refreshMode="partial">
                        <xp:this.script>
                            <xp:executeClientScript>
                                <xp:this.script><![CDATA[XSP.partialRefreshGet("#{id:comboBox6}", {
        onComplete: function() {
            XSP.partialRefreshGet("#{id:comboBox5}")
        }
    });]]></xp:this.script>
                            </xp:executeClientScript>
                        </xp:this.script>
                    </xp:eventHandler>
                </xp:comboBox>
            </xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td>
                Task:
            </xp:td>
            <xp:td>
<xp:comboBox id="comboBox5" value="#{document1.task}"
                    rendered="#{javascript:!document1.isResponse();}">
                    <xp:selectItems>
                        <xp:this.value><![CDATA[#{javascript:if(getComponent("comboBox1").getValue() == "Workpackage1"){
    var myOpt = new Array();
    myOpt[0] = "-";
}else if(getComponent("comboBox1").getValue() == "Workpackage2"){
    var myOpt = new Array();
    myOpt[0] = "-"
}else{
    var myOpt = new Array();
    myOpt[0] = "-";
}
return myOpt;}]]></xp:this.value>
                    </xp:selectItems>
                    <xp:eventHandler event="onchange" submit="true"
                        refreshMode="partial" refreshId="comboBox6">
                    </xp:eventHandler>
                </xp:comboBox>

            </xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td>
                Deliverable:
            </xp:td>
            <xp:td>
                <xp:comboBox id="comboBox6" value="#{document1.deliverable}"
                    rendered="#{javascript:!document1.isResponse();}">
                    <xp:selectItems>
                        <xp:this.value><![CDATA[#{javascript:if(getComponent("comboBox1").getValue() == "Workpackage1"){
    var myOpt = new Array();
    myOpt[0] = "-";
    myOpt[1] = "D1.1x";
    myOpt[2] = "D1.2";
    myOpt[3] = "D1.3";
}else if(getComponent("comboBox1").getValue() == "Workpackage2"){
    var myOpt = new Array();
    myOpt[0] = "-"
    myOpt[1] = "D2.1"
    myOpt[2] = "D2.2"
    myOpt[3] = "D2.3"
    myOpt[4] = "D2.4.1"
    myOpt[5] = "D2.4.2"
}else{
    var myOpt = new Array();
    myOpt[0] = "-";
}
return myOpt;}]]></xp:this.value>
                    </xp:selectItems>
                    <xp:eventHandler event="onchange" submit="true"
                        refreshMode="complete">
                    </xp:eventHandler>
                </xp:comboBox>
            </xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td>
                Short description:
            </xp:td>
            <xp:td>
                <xp:inputRichText id="inputRichText1"
                    value="#{document1.short_description}">
                </xp:inputRichText>
            </xp:td>
        </xp:tr>
        <xp:tr>
            <xp:td>
                File upload:
            </xp:td>
            <xp:td>
                <xp:div id="fileUploadContainer">
                    <div style="margin-top:1em">
                        <xp:br></xp:br>
                        <xp:table>
                            <xp:this.rendered><![CDATA[#{javascript:if((context.getUserAgent().isFirefox() == true) || (context.getUserAgent().isChrome() == true) || (context.getUserAgent().isIE() == true) || (context.getUserAgent().isOpera() == true) || (context.getUserAgent().isSafari() == true)){
    return false;
}else{
    return true;
}}]]></xp:this.rendered>
                            <xp:tr>
                                <xp:td style="width:520px">

                                    <xp:fileUpload id="fileUpload1" value="#{document1.files}">
                                    </xp:fileUpload>
                                </xp:td>
                                <xp:td style="width:10px">
                                    <xp:inputHidden id="saveOptions" required="true"
                                        disableClientSideValidation="true" value="#{document1}">
                                    </xp:inputHidden>
                                </xp:td>
                                <xp:td>
                                    <xp:button value="Upload" id="button12" style="height:21px">
                                        <xp:eventHandler event="onclick" submit="true"
                                            refreshMode="complete" id="eventHandler1">
                                            <xp:this.action>
                                                <xp:saveDocument></xp:saveDocument>
                                            </xp:this.action>
                                            <xp:this.script><![CDATA[var id = "#{id:saveOptions}";
dojo.byId(id).value="1";]]></xp:this.script>
                                        </xp:eventHandler>
                                    </xp:button>
                                </xp:td>
                            </xp:tr>
                        </xp:table>
                        <xp:br></xp:br>
                        <xp:fileDownload rows="30" id="fileDownload1"
                            displayLastModified="false" value="#{document1.files}" hideWhen="true"
                            allowDelete="true" style="width:100.0%">
                        </xp:fileDownload>
                        <xp:br></xp:br>
                    </div>
                </xp:div>
            </xp:td>
        </xp:tr>
    </xp:table>
    <xp:br></xp:br>
    <xp:span style="font-weight:bold">Modified</xp:span>
    <xp:span style="font-weight:bold">by:</xp:span>
    <xp:br></xp:br>
    <xp:inputText id="inputText3" disabled="true"
        value="#{document1.modified_by}" defaultValue="#{javascript:sessionScope.commonUserName}">
    </xp:inputText>
    <xp:br></xp:br>
    <xp:span style="font-weight:bold">Last modificati</xp:span>
    <xp:span style="font-weight:bold">on:</xp:span>
    <xp:br></xp:br>
    <xp:inputText id="inputText4" value="#{document1.last_modification}"
        disabled="true" defaultValue="${javascript:@Now()}">
        <xp:this.converter>
            <xp:convertDateTime type="date" dateStyle="short">
            </xp:convertDateTime>
        </xp:this.converter>
    </xp:inputText>
    <xp:br></xp:br>
    <xp:span style="font-weight:bold">Created:</xp:span>
    <xp:br style="font-weight:bold"></xp:br>
    <xp:inputText id="inputText5" value="#{document1.created}"
        disabled="true">
        <xp:this.defaultValue><![CDATA[#{javascript:if(document1.isNewNote()){
    @Now();
}else{
    document1.getItemValueDate("created");
}}]]></xp:this.defaultValue>
        <xp:this.converter>
            <xp:convertDateTime type="date" dateStyle="short">
            </xp:convertDateTime>
        </xp:this.converter>
    </xp:inputText>
</xp:view>

2 个答案:

答案 0 :(得分:0)

这只是在黑暗中拍摄但您是否试图关闭兼容模式?

Pages does not render properly in IE 11 when using the bootsrapv3.0.0 theme

答案 1 :(得分:0)

检查正在使用的Dojo版本。 Internet Explorer在放弃对旧版Dojo的支持方面非常苛刻。请记住,所有按钮操作(部分刷新等)都通过客户端Dojo扩展库,您可能会发现Internet Explorer 11(最新版本)不支持随8.5.3一起提供的Dojo版本(其中已经好几年了。 Domino 9.0.1 FP2(仅超过一年)http://per.lausten.dk/blog/2014/08/xpages-and-domino-9-0-1-fp2-upgrades-to-ckeditor-and-dojo.html支持Internet Explorer。