提交包含必需的inputText的表单时,指示未验证字段的样式将保留在原处,直到再次提交。我希望样式在字段被编辑后立即消失。

<p:inputText value="#{data.bezeichnung}"
             id="bezeichnung"
             styleClass="panelInputField input_mandatory"
             required="true"
             title="Bezeichnung"/>

最佳答案

经过大量的尝试,我发现添加“ onkeyup”的最简单答案如下:

                    <p:inputText value="#{data.bezeichnung}" id="bezeichnung"
                         styleClass="panelInputField input_mandatory"
                         required="true"
                         onkeyup="$(this).removeClass('ui-state-error');"
                         title="Bezeichnung"/>


如果需要将jquery代码放在更通用的位置,则下面的方法也可以工作:(了解此处使用的转义代码可能会有所帮助)

    onfocus="$('.ui-state-error').removeClass('ui-state-error');"
    onkeyup="$('input[name=&quot;form:bezeichnung&quot;]').removeClass('ui-state-error');"
    onkeyup="$('input[name$=bezeichnung]').removeClass('ui-state-error');"

10-06 09:32