2014-04-30 3 views
5

저는 ZK 프레임 워크를 사용하고 있습니다.하지만 문제는 브라우저가 암호를 저장할 때 사용자 이름의 텍스트 상자를 클릭하고 텍스트 상자를 클릭해야합니다. 비밀번호를 입력하고 클릭이 완료되면 페이지가 잘 제출되지만 로그인 버튼을 클릭 할 때 텍스트 상자를 클릭하지 않으면 내 텍스트 상자가 비어 있습니다. 내가 할 경우 내 텍스트 상자가 비어있는 것처럼하지 텍스트 상자에서 클릭이기 때문에설정 zk로 텍스트 상자를 클릭하십시오.

그럼 내가

어떻게 ZK 또는 Java로 내 모델에서 텍스트 상자에서 클릭을 보낼 수, 클릭을 할 필요가있다. 또는 브라우저에서 저장 한 사용자 이름과 암호를 텍스트 상자에 저장하려면 어떻게해야합니까?

누가 나를 도울 수 있습니까? 감사합니다

+0

자바 코드를 추가하십시오. 그것 없이는 당신이하고있는 것을 말하기 어렵습니다. – bidifx

+1

이 상황에 대한 해결 방법을 얻었습니까? 똑같은 문제가 발생합니다. 브라우저가 사용자 이름과 암호 필드를 채 웁니다. 그러나 값이 ZK로 밀어 넣는 것처럼 보이지 않습니다. getText() 또는 getValue()를 호출하면 빈 문자열이 반환됩니다. – Xandel

답변

0

시도이 같은 자동 완성 속성과 함께 기본 HTML 태그를 사용 : 모든 아무것도 같은 느낌이 무엇도이 함께 시간 동안 고민하고 노력하면

<zk xmlns:n="native"> 
    <n:form method="post" action="home.zul" autocomplete="on"> 
     username: <n:input type="text" /> 
     password: <n:input type="password" /> 
     <n:input type="submit" value="submit" /> 
    </n:form> 
</zk> 
1

나는 마지막으로 작동하는 솔루션을 함께했다 !

여기에서 가장 중요한 문제는 브라우저가 입력 필드의 onChange() 이벤트가 사용자 이름과 비밀번호를 채울 때 발생하지 않는다는 것입니다.

ZK는 자체 구성 요소의 값을 업데이트하기 위해이 기능을 사용합니다. 또한 브라우저가 값을 입력 한 시점을 정확히 알 수 없게됩니다.

반복적으로 발생하는 페이지에 타이머를 추가하고 ZK의 updateChange() 루틴을 클라이언트 쪽에서 강제 실행하는 것이 좋습니다. 이 기본 시나리오 감안할 때

:

<form> 
    <textbox id="loginUsername"/> 
    <textbox id="loginPassword" type="password"/> 
    <button id="loginButton" type="submit"/> 
</form> 

트릭을 할 것이 타이머 :

<timer id="timer" delay="500" repeats="true" w:onTimer="zk.Widget.$('$loginUsername').updateChange_();zk.Widget.$('$loginPassword').updateChange_();" /> 

그것은 w 점에 유의하는 것이 중요합니다 : onTimer 속성은 클라이언트 측 속성이며, 다음이 필요 가장 위에있는 요소의 선언 :

xmlns:w="client" 

e-force는 사용자가 브라우저에 의해 채워지지 않은 경우 사용자 이름과 암호를 입력하는 데 부정적인 영향을 미치지 않으며 사용자가 페이지에서 작업을 수행하면 쉽게 타이머를 중지 할 수 있습니다.

관련 문제