Oracle APEX -如何调用JavaScript函数

kt06eoxx  于 2024-01-05  发布在  Java
关注(0)|答案(1)|浏览(126)

我想调用一个基于文本输入的函数。这是我的代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .message {
            margin-top: 10px;
            color: red;
        }
    </style>
</head>
<body>   
    <div id="uppercase" class="message">Must contain at least one uppercase letter</div>
    <div id="lowercase" class="message">Must contain at least one lowercase letter</div>
    <div id="numeric" class="message">Must contain at least one numeric digit</div>
    <div id="specialchar" class="message">Must contain at least one special character</div>
    
    <script>
        function checkPassword() {
            var password = document.getElementById("P99_NEW_PASSWORD").value;
            var uppercaseMessage = document.getElementById("uppercase");
            var lowercaseMessage = document.getElementById("lowercase");
            var numericMessage = document.getElementById("numeric");
            var specialcharMessage = document.getElementById("specialchar");

            // Reset messages
            uppercaseMessage.style.color = "red";
            lowercaseMessage.style.color = "red";
            numericMessage.style.color = "red";
            specialcharMessage.style.color = "red";

            // Check conditions
            if (/[A-Z]/.test(password)) {
                uppercaseMessage.style.color = "green";
            }
            if (/[a-z]/.test(password)) {
                lowercaseMessage.style.color = "green";
            }
            if (/\d/.test(password)) {
                numericMessage.style.color = "green";
            }
            if (/[!@#$%^&*(),.?":{}|<>]/.test(password)) {
                specialcharMessage.style.color = "green";
            }
        }
    </script>
</body>
</html>

字符串
它看起来是这样的:x1c 0d1x
我想做的是,当用户在新密码字段中输入密码(即P99_NEW_PASSWORD)时,checkPassword()将被调用。然而,我不知道在哪里/在哪里调用checkPassword()函数。有人能帮助解决这个问题吗?提前感谢。

l0oc07j2

l0oc07j21#

下面是一个简单的例子,我的页面是206:
1.在页面属性>函数和全局变量声明中创建JavaScript函数

function checkPassword() {
            var password = apex.items.P206_NEW_PASSWORD.getValue();
            var uppercaseMessage = document.getElementById("uppercase");

            // Reset messages
            uppercaseMessage.style.color = "red";

            // Check conditions
            if (/[A-Z]/.test(password)) {
                uppercaseMessage.style.color = "green";
            }
        }

字符串
1.仅在测试时,消息在页面项中显示为“Post Text”,来源:

<div id="uppercase">Must Contain at least one uppercase letter</div>


出于UI的目的,使用相同的源代码可能会做得更干净。
1.在P206_NEW_PASSWORD更改时创建动态操作。

  • 添加类型为“执行JavaScript代码”的true操作
  • 代码
checkPassword()

  • 取消勾选“初始化时触发”

注意事项:对于这样的代码进行检查是可以的:用户知道新密码并可以检查它。然而,对于任何密码保存,比较和验证.

相关问题