2014-06-17 1 views
2

XPage 모바일 컨트롤 In Typeahead에 문제가 있습니다. 실제로 나는 행동이 최근에 변경되었다고 생각합니다. 아마도 Ext의 마지막 업데이트 일 것입니다. 라이브러리하지만 확실하지 않습니다. 우리가 그런데 그 변화를 알아 차렸을 때. Is는 원하는대로 작동하고 있습니다.XPages 이전 버전 자동 완성 동작

다음은 2 스크린 샷입니다. 첫 번째는 일반적인 XPage에 있고 두 번째는 Mobile Controls 안에 있습니다.

사용자가 "자동 완성"이없는 첫 번째 입력에서 "D"를 입력하는 방법에 유의하십시오. 그러나 두 번째 스크린 샷에서 사용자가 "D"를 입력하면이 값이 "O"로 시작하는 첫 번째 값에 즉시 추가됩니다. 그것은 사용자가 입력 한 "D"를 대체합니다. ("O"의 시작 부분이 표시된 레코드가 의도 한대로 작동하고 있으므로 무시하십시오.)

문제는 자동 완성이 전혀 발생하지 않기를 바라는 것입니다. 모바일 컨트롤 내부의 첫 번째 스크린 샷 동작을 원합니다. 그래서 사용자는 입력을 계속할 수 있고 목록을 계속 필터링하고 사용자가 입력 한 내용을 덮어 쓰지 않습니다.

나는 그것을하는 데 익숙해졌고 무엇이 바뀌 었는지 알지 못합니다. 코드 자체는 변하지 않았습니다.

나는 행운을 빌려 자동 완성과 자동 교정을 "꺼짐"으로 설정하려고 시도했다. 나는 그 차이가 무엇인지, 심지어 그들이 진정으로 놀아나는지 모르겠다.

필드를 모바일 컨트롤 안의 자동 채우기로 만들지 못하게하려면 어떻게해야합니까?

모든 조언을 주시면 감사하겠습니다. 나는 이것이 개인적으로 iPads에서 사용된다는 것을 알아야한다. 모바일 사파리 브라우저입니다.

감사합니다.

<input type="text" id="view:_id1:checkOutFacilityID_content:_id4:inputText5" 
name="view:_id1:checkOutFacilityID_content:_id4:inputText5" autocomplete="off" 
    class="mblTextBox target" placeholder="Job Code" autocorrect="off" 
dojotype="extlib.dijit.mobile.TypeAheadCombo" 
store="view__id1_checkOutFacilityID_content__id4__id9" data-dojo- 
props="list:'view__id1_checkOutFacilityID_content__id4__id9', searchAttr:'value', 
labelAttr:'label', labelType:'html'" spellcheck="false" tabindex="0" lang="en" 
widgetid="view:_id1:checkOutFacilityID_content:_id4:inputText5" value=""> 
+0

각각 어떤 HTML이 브라우저에 출력됩니까? 그것은 다른가요? 모바일이 다른 HTML을 렌더링 할 수 있습니다. –

+0

질문에 html 결과를 추가했습니다. 자동 완성과 자동 교정이 "꺼짐"상태입니다. –

답변

1

나는 IBM의 Maire로부터 이에 대한 대답을 얻었다.

최근 Ext. Type Ahead 관련 라이브러리 업데이트. 이제 솔루션은 도장을 사용하여 설정을 추가하는 것입니다. IBM이 보낸 이메일은 다음과 같습니다.

안녕하세요 데이비드, 모바일 선행 입력 동작은 해당 릴리스에 대한 README.PDF에 대해서는 "XPages 선행 입력 제어 지원 개선"을 참조, 변경의 자세한 내용은 릴리스 901v00_04.20140226-1506 변경.

내가 말하는 행동을 재현하고 SPR : 을 기록했습니다. SPR # MKEE9L7E9BLink XPages, Mobile TypeAhead, 드롭 다운의 첫 번째 항목이 편집 상자에 삽입되고 있습니다 (그러지 않아야합니다)

<xp:panel id="panel1"> 
     <xp:eventHandler event="onClientLoad" submit="false"> 
       <xp:this.script><![CDATA[dijit.byId('#{id:inputText1}').autoComplete=false;/*Note autoComplete=false is different to autocomplete=off*/ ]]></xp:this.script> 
     </xp:eventHandler> 
</xp:panel> 
: 해결 방법은 편집 상자의 동작을 변경하는 스크립트를 작성하는 것입니다 이 그래서 당신의 편집 상자의 이름과 일치하는 이름 inputText1 당신의 XPage에이 컨트롤을 삽입, 변경 :

이 문제를 해결하려면

감사합니다, 마이얼

0

I :

<xp:inputText id="inputJobCode" value="#{viewScope.selectedJob}" 
        styleClass="target span9"> 
<xp:this.attrs> 
    <xp:attr name="placeholder" value="Job Code" /> 
    <xp:attr name="autocorrect" value="off" /> 
    <xp:attr name="autocomplete" value="off" /> 
</xp:this.attrs> 
<xp:this.dojoAttributes> 
    <xp:dojoAttribute name="autocorrect" value="off" /> 
    <xp:dojoAttribute name="autocomplete" value="off" /> 
</xp:this.dojoAttributes> 
<xp:typeAhead mode="partial" minChars="1" valueMarkup="true" 
    var="searchValue" valueList="#{javascript:return com.companyname.datahub.TypeAhead.jobTypeAhead(searchValue);}"> 
</xp:typeAhead> 
<xp:eventHandler event="onchange" submit="true" 
refreshMode="complete"> 
<xp:this.action><![CDATA[#{javascript:var key:String = viewScope.get("selectedJob"); 
getComponent("inputJobCode").setValue(""); 
//JobData.load(key); 
}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:inputText> 

Preferred Behavior

다음

Not Preferred

가 출력 HTML 모바일 제어 페이지에서 무엇이다 : 여기

이에 대한 기본 코드 모바일에 추가 된 dojoType을 주목하십시오 - dojotype = "extl ib.dijit.mobile.TypeAheadCombo ". 그것은 그것이 당신이보고있는 기능을 설명하는 콤보 상자와 앞 글자가 섞인 것처럼 들립니다.

Dojo 속성을 비 모바일 속성에 추가하면 작동합니까?

+0

비 모바일 작업 페이지에 추가했을 때 결과가 표시되지 않았습니다. 거기에 아무것도 없었다. –

+0

포함시킬 Dojo 모듈이있을 수 있습니다. –