2013-10-02 2 views
1

편집 상자에서 자리 표시자를 사용하고 password = 'true'를 사용하고 있습니다. password = 'true'로 변경하면 자리 표시자가 작동하지 않으며 암호 유형이 작동합니다. Xpages에서 자리 표시 자 속성 및 암호 유형 사용

은 내가 이런 자리 설정 : <xp:attr name="placeholder" value="Enter Password">/xp:attr>

당신은 설정할 수 없습니다 유형 = 비밀번호 또는 당신은 XSP의 당신이 암호를 사용하라는 오류 = 진정한 대신를 얻을.

BTW : 나는 대신 슬로 보단 로야의 인기 블로그 게시물과 같은 스타일로 라벨의 자리 사용하고 있습니다 : http://xpagesbeast.com/uxdesign/customizing-the-html-log-in-form-with-bootstrap/

(. 그의 경우, 그는 경유 HTML 그래서 그는이 문제를 처리하지 않는 사용)
+1

password = true로 설정하면 설정하려는 속성을 무시하게됩니다. jQuery를 사용하여 클래스에 액세스하려고했습니다. 이것은 버그일까요 ??? –

답변

3

이것은 다소 해킹 된 것이지만 입력 요소에 HTML5 유형을 지정할 수 있도록 기본 렌더러 거부를 극복하는 데 유용한 패턴임을 알게되었습니다.

특정 유형의 입력 (예 : passwordInput)을 분명히하는 styleClass을 설정하십시오.

페이지에 scriptBlock 추가 :이 암호 필드가 될 passwordInput의 클래스와 모든 입력의 원인이됩니다

<xp:scriptBlock> 
    <xp:this.value><![CDATA[XSP.addOnLoad(function(){ 
    dojo.query(".passwordInput").forEach(function(eachInput){ 
     dojo.attr(eachInput, "type", "password"); 
    }); 
});]]></xp:this.value> 
</xp:scriptBlock> 

. 이 패턴을 어떤 속성 조작에도 사용할 수 있지만 가장 자주 사용하여 HTML5 input types을 표준 inputText 구성 요소에 할당합니다.

경고 : 당신이 입력이 다시로드되도록 페이지에 부분 리프레시 이벤트가있는 경우 scriptBlock 내부의 동일한 리프레시 대상을 포함해야합니다. 그렇지 않으면 일반 텍스트 필드는 초기 페이지로드시 비밀번호 필드가되지만 필드 또는 컨테이너를 대상으로하는 이벤트가 발생하면 일반 텍스트 필드로 되돌아갑니다. 그러나 scriptBlock이 새로 고침 대상 안에 있으면 입력이 렌더링되면 스크립트가 다시 실행되어 다시 암호 필드가됩니다.

+0

이것은 완벽하게 작동합니다. 그래, 나는 이것이 해킹 괜찮다고 말할 것이다. IBM이 다음 릴리스에서이를 수정하기를 바랍니다. 다시 한번, 대단히 감사합니다 !! –