0

我正在尝试在 Apex 上做类似的事情

Jquery示例不在顶点

上面的链接显示了一个示例,但它not位于顶点。

基本上,我想在用户输入时验证字段,并在字段正确后立即删除错误。

我正在使用顶点版本 4.0。

到目前为止我所做的并且它不起作用,因为即使我试图强制错误,我也没有收到任何错误消息。

在页面上HTML headers and Body Attribute我有我的 CSS

`<style>
#error{
    margin-bottom: 20px;
    border: 1px solid #efefef;
}
#error ul{
    list-style: square;
    padding: 5px;
    font-size: 11px;
}
#error ul li{
    list-style-position: inside;
    line-height: 1.6em;
}
#error ul li strong{
    color: #e46c6d;
}
#error.valid ul li strong{
    color: #93d72e;
}

</style>`

在javascript中我有

`$(document).ready() {
var name = $("#P1_TEST");
};
<script>
function validateName(){
    //if it's NOT valid
    if(p_t03.val().length < 4){
        p_t03.addClass("error");
                error_message("Must be than 3 letters!");
        return false;
    }
    //if it's valid
    else{
        p_t03.removeClass("error");
        return true;
    }
}

</script>
<script>
p_t03.blur(validateName);
p_t03.keyup(validateName);
</script>`

请注意,这p_t03P1_TEST名称。因为在 chrome 上检查元素。`id="pP1_TEST" 名称="p_t03"

Item-> P1_TEST-> HTML Form Element Attributes。我有onblur="validateName();"哪个应该检查上面的 jquery 验证。

这是我第一次在 apex 上这样做。我太确定我是否做对了。

4

1 回答 1

0

用这个替换你的 JavaScript:

var name = $("#P1_TEST");

function validateName(){
    //if it's NOT valid
    if(name.val().length < 4){
        name.addClass("error");
                error_message("Must be than 3 letters!");
        return false;
    }
    //if it's valid
    else{
        name.removeClass("error");
        return true;
    }
}

$(document).ready(function() {
    name.blur(validateName);
    name.keyup(validateName);
})

为什么您的代码不起作用:

  • <script></script>如果您将代码放置在页面属性 > JavaScript 中,则不需要标记。
  • p_t03.blur();不是调用 JQuery 的正确语法。 $('[name="p_t03"]').blur();是你需要的。为简单起见,我在答案中使用了 ID 而不是名称。

祝你项目的其余部分好运。

于 2013-10-11T12:57:59.973 回答