如何在页面提交之前清除Oracle-Apex项目中的无效输入?

时间:2017-07-13 05:42:31

标签: oracle-apex

我有一个页面项P1_USERNAME,当用户输入一些文本时,我想在提交页面之前清除不允许的文本。

说用户输入sra> {563<在输入完成后,通过清除'a'之后的所有输入,文本应该看起来像sra,因为>定义无效。

2 个答案:

答案 0 :(得分:0)

您可以使用在提交后触发并使用PL / SQL表达式的计算,如:

{{1}}

这将在提交后但在其他处理之前触发。

如果您的计算需要更复杂,您可以将代码移动到包函数并进行如下计算:

{{1}}

答案 1 :(得分:0)

您想要使用动态操作 - 更改类型,在更改字段时触发,然后失去焦点。然后,您将执行JavaScript代码以响应将解析和替换文本的事件。文档here

更改(更改) - 当控件失去输入焦点并且自获得焦点后其值已被修改时触发。支持的用户界面类型:桌面和jQuery Mobile Smartphone。

指定在先前指定的事件发生且满足条件时执行的操作:

执行JavaScript代码 - 使您能够定义或调用在动态操作框架中使用的自定义页面特定JavaScript代码。如果要定义仅针对一个页面的JavaScript代码,则还可以使用新的页面级别属性函数和全局变量声明来定义此代码。随后可以从此操作引用此处定义的函数和变量。

你想要所有这个客户端 - 所以解析和替换必须在你编写的JS函数中完成。

如果您想超级想象,请使用动态操作键按下并监控输入的字符。如果他们输入了无效字符,您可以弹出一条JS消息并阻止他们输入更多不良字符:按键(按键) - 当按下键盘上的键时触发,导致输入文本。如果要捕获实际文本条目,请使用此事件。