使用zk在文本框中设置Click



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

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

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

谁能帮我。谢谢

经过几个小时的努力,我终于找到了一个有效的解决方案!

这里的主要问题是浏览器在填充用户名和密码时不会触发输入字段的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"

尽管这看起来有点暴力,但如果浏览器没有填充用户名和密码,它对用户输入用户名和密码没有负面影响,而且一旦用户在页面上做了一些事情,你可以很容易地停止计时器。

尝试使用本地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>

最新更新