I have several buttons on my xpages side (openpage, savedocument, cancel, response). All works on Firefox and Chrome, but doesn't work on Internet Explorer. But there's in an upload file button, and it works. That's the only button works on my page in IE, but I don't know why. There are links in a custom control and they work.
Server: Lotus Domino 8.5.3 FixPack6, IE11.
Is there any idea about it?
The problematic code snippet:
<?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>