设置使用zk单击文本框

Cod*_*der 5 java forms zk

我正在使用ZK框架,我有一个表单,但问题是当浏览器保存密码时我需要在用户名的文本框中单击并在密码的文本框中单击,并在单击完成时页面提交我的表单,但如果我没有点击文本框,当我点击登录按钮就像我的文本框是空的.

然后我需要点击,因为如果我没有在文本框中点击就像我的文本框是空的,

如何在zk中的文本框中或在Java中的模型中发送单击.或者我如何在文本框中保存浏览器保存的用户名和密码?

谁能帮我.谢谢

Xan*_*del 1

在为此奋斗了几个小时并尝试了一切之后,我终于想出了一个可行的解决方案!

这里的主要问题是浏览器在填充用户名和密码时不会触发输入字段的 onChange() 事件。

ZK依靠这个来更新自己组件的值。此外,这也使得我们无法准确知道浏览器何时填充了这些值。

我的解决方法是在页面中添加一个计时器,该计时器会重复触发并从客户端强制执行 ZK 的 updateChange() 例程。

鉴于这个基本场景:

<form>
    <textbox id="loginUsername"/>
    <textbox id="loginPassword" type="password"/>
    <button id="loginButton" type="submit"/>
</form>
Run Code Online (Sandbox Code Playgroud)

这个计时器可以解决这个问题:

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

请务必注意,w:onTimer 属性是客户端属性,需要在最顶层元素中进行以下声明:

xmlns:w="client"
Run Code Online (Sandbox Code Playgroud)

尽管这看起来有点暴力,但如果浏览器没有填充用户名和密码,它对用户输入他/她的用户名和密码没有负面影响,并且一旦用户在页面上执行某些操作,您就可以轻松停止计时器。