如何进行自动完成=";关「;JSF中的表单级

如何进行自动完成=";关「;JSF中的表单级,jsf,Jsf,如何在JSF中在表单级别执行autocomplete=“off”?使用Javascript的真正快速解决方案是(假设您已经加载了jQuery): $(函数(){ $(“#表单”).attr(“自动完成”、“关闭”); }); 如果您想继续使用vanilla Javascript,可以执行以下操作: <script> document.addEventListener("DOMContentLoaded", function(){ document.getE

如何在JSF中在表单级别执行autocomplete=“off”?

使用Javascript的真正快速解决方案是(假设您已经加载了jQuery):


$(函数(){
$(“#表单”).attr(“自动完成”、“关闭”);
});
如果您想继续使用vanilla Javascript,可以执行以下操作:

<script>
    document.addEventListener("DOMContentLoaded", function(){
        document.getElementById("form").setAttribute("autocomplete", "off");
    });
</script>

document.addEventListener(“DOMContentLoaded”,function()){
document.getElementById(“表单”).setAttribute(“自动完成”、“关闭”);
});
注意:对于第二种解决方案,请确保您的浏览器包含在此处:
如果不是,您最好使用第一种解决方案。

最好且最简单的方法是:

<h:form id="myForm">
    <f:passThroughAttribute name="autocomplete" value="off"/>
    ...
</h:form>

...
不要忘记添加
xmlns:f=”http://xmlns.jcp.org/jsf/core“
到您的
头部
属性,如果您还没有

为什么?

  • 因为如果页面中的某个地方有一个ajax事件需要更新/呈现表单,它将不会丢失
    autocomplete
    属性
  • 因为它看起来很性感(JS看起来很难看)

  • 提示:您可以对没有任何新HTML规范特定属性的每个JSF元素使用
    f:passThroughAttribute

    在使用jQuery时,如果表单id包含“:”字符,您将得到不支持的伪错误。如果是这样的话,您可以使用$(document.getElementById('parentElement:formElement').attr(“自动完成”,“关闭”);有关详细信息,请参阅对我来说最可行的解决方案。遗憾的是,使用jsf 2.0这只适用于jsf 2.2。如果支持的话,仍然是目前为止最好的解决方案。
    <h:form id="myForm">
        <f:passThroughAttribute name="autocomplete" value="off"/>
        ...
    </h:form>