2015-10-08 10 views
0

У меня есть несколько кнопок на моей стороне xpages (открытая страница, сохраненный документ, отмена, ответ). Все работает в Firefox и Chrome, но не работает в Internet Explorer. Но есть кнопка загрузки файла, и она работает. Это единственная кнопка работает на моей странице в IE, но я не знаю почему. В пользовательском элементе есть ссылки, и они работают.Кнопки Xpages не работают на 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> 
+0

Вы заглянули в IE-консоль? –

+3

Вы должны уточнить точную версию IE, версию сервера (включая любые пакеты исправлений/исправления), установленную версию Extlib, если таковые имеются, а также включить фрагменты кода. Невозможно помочь с таким ограниченным описанием проблемы. –

+0

Сервер: Lotus Domino 8.5.3 FixPack6, IE11. Сейчас я на смартфоне, поэтому я не мог предоставить код сейчас. Какие разделы вам нужны? Дополнительная информация: кнопки не работают и на Android Chrome. –

ответ

0

Это просто выстрел в темноте, но вы попытались отключить режим совместимости?

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

+0

Если я добавлю свой сайт в режим совместимости, кнопки работают, но дизайн проскальзывает. Но, возможно, это может быть решением. –

+0

Ну, я думаю, вы на что-то тогда. Да, режим совместимости не будет работать с некоторыми вещами. У меня есть еще один ответ, в котором подробно описано, что вы можете сделать, чтобы IE работал в бутстрапе. –

+0

Глядя на ваш код, я бы избавился от стилей. Я стараюсь не использовать их и предпочитаю styleClass использовать CSS. –

0

Проверьте версию Dojo в использовании. Internet Explorer очень драконен в отказе от поддержки старых версий Dojo. Принимая во внимание, что все действия с кнопками (частичное обновление и т. Д.) Проходят через клиентскую библиотеку расширения Dojo, вы можете обнаружить, что Internet Explorer 11 (который довольно недавно) не поддерживает версию Dojo, поставляемую с 8.5.3 (которая составляет несколько лет). Internet Explorer поддерживается с 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.

+0

Это, вероятно, лежит в основе проблемы. 8.5.3FP6 содержит dojo v1.6.3. Поддержка IE11 в додзе только продолжается до версии v1.7 –

 Смежные вопросы

  • Нет связанных вопросов^_^