xpages - 计算我的 xp:inputText 控件的字符数
问题描述
我将 xp:inputText 控件绑定到视图范围。现在,我想在用户输入 10 个字符时从按钮中删除禁用属性,但 onkeypress 或 onchange 事件(服务器)似乎只在我离开输入控件时提交某些内容。
我该如何解决这个服务器端?
解决方案
如果您确实选择了客户端解决方案,请将此类内容放入您的页面或页面底部的自定义控件中。
<xp:scriptBlock>
setInterval(function () {
if(XSP.getElementById("#{id:textInputFieldName}").val().length > 9) {
XSP.getElementById("#{id:submitButtonName}").removeAttr("disabled");
} else {
XSP.getElementById("#{id:submitButtonName}").attr("disabled", "disabled");
}
}, 500); //Runs every 0.5s
</xp:scriptBlock>
这每 500 毫秒运行一次,并检查文本输入的长度是否大于 9 个字符。如果是,它会删除按钮的 disabled 属性,否则会保留该属性。即使人们将数据复制并粘贴到字段中,这种方法也有效,而使用按键的解决方案可能无法获取粘贴事件。
您将需要更改元素的 ID。
推荐阅读
- javascript - 当我的鼠标进入 DOM 时调用的 react 函数是什么?
- android - 在 Unity for IOS 上初始化 Fire SDK
- mongodb - $lookup mongodb 中的 $project
- docker - 由于高山错误,docker无法构建
- video-streaming - 将多个同步视频直播到 Web 客户端的技术/协议是什么?
- java - 欧元货币获得问号?
- javascript - 如何从设置的事件侦听器中删除过时的回调?
- php - 带有来自字符串的索引键的 Wordpress get_option()
- java - Java 线程对象锁
- c - 处理大数组大小时出现分段错误