如何允许使用日历按钮选择日期,但禁用在Dojo日期文本框中键入日期



如何允许使用日历按钮选择日期,但禁止在Dojo日期文本框中输入日期?

有没有办法做到这一点? 如果是这样,怎么办?

基本上,我希望用户能够使用日历按钮选择日期,但不允许他们手动输入日期。

创建客户端焦点事件:

thisEvent.target.blur();

这不会阻止通过日期帮助程序以编程方式填充字段的值,但如果他们尝试手动聚焦(即单击或按 Tab 键进入)字段,它将再次将它们踢出。

有一个

showReadonlyAs Disabled 的新属性,我在日期时间字段上尝试过。但它最终创建了一个禁用字段,但令人惊讶的是,它在编辑框的情况下创建了一个只读字段。所以我不得不通过在加载页面时通过 javascript 设置只读属性来创建解决方法。下面是代码片段:

<xp:inputText id="dateTimeField">
    <xp:dateTimeHelper id="dateTimeHelper1"></xp:dateTimeHelper>
    <xp:this.converter>
        <xp:convertDateTime type="date"></xp:convertDateTime>
    </xp:this.converter>
</xp:inputText>
<xp:br></xp:br>
<xp:scriptBlock>
    <xp:this.value><![CDATA[XSP.addOnLoad(
    function() {
        document.getElementById("#{id:dateTimeField}").readOnly = true;
    }
);]]></xp:this.value>
</xp:scriptBlock>

我不知道这是否是最佳解决方案,但它有效!

最新更新