如何在JSF中的表单级别执行autocomplete =“off”?
答案 0 :(得分:9)
这样做的最好和最简单的方法是:
<h:form id="myForm">
<f:passThroughAttribute name="autocomplete" value="off"/>
...
</h:form>
如果您还没有xmlns:f="http://xmlns.jcp.org/jsf/core"
attribite,请不要忘记添加head
。
<强>为什么吗
autocomplete
属性。 提示:您可以对每个JSF元素使用f:passThroughAttribute
,这些元素没有任何新规范的特定属性。
答案 1 :(得分:8)
使用Javascript的真正快速解决方案是(假设你已经加载了jQuery):
<script>
$(function(){
$("#form").attr("autocomplete", "off");
});
</script>
如果您想使用vanilla Javascript,您可以这样做:
<script>
document.addEventListener("DOMContentLoaded", function(){
document.getElementById("form").setAttribute("autocomplete", "off");
});
</script>
注意:对于第二个解决方案,请确保您的浏览器包含在此处:https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/DOMContentLoaded#Browser_compatibility 如果不是,您可能最好使用第一种解决方案。
答案 2 :(得分:5)
不幸的是,标准<h:form>
组件没有autocomplete
属性。您必须在每个输入的基础上关闭它或为UIForm
编写自定义渲染器。
目前有一个未解决的问题,要求将此属性添加到<h:form>
:JSF spec issue 418。目前,它计划用于JSF 2.2。
同时,您可以使用OmniFaces Html5RenderKit
获取autocomplete="off"
组件<h:form>
的支持。