how to do autocomplete="off" at form level in JSF
how to do autocomplete="off" at form level in JSF?
Solution 1:
The best and easiest way of doing this is this:
<h:form id="myForm">
<f:passThroughAttribute name="autocomplete" value="off"/>
...
</h:form>
Don't forget to add xmlns:f="http://xmlns.jcp.org/jsf/core"
to your head
attribite if you don't have already.
Why?
- Because if you have an ajax event somewhere in your page that needs to update/render your form, it will not loose the
autocomplete
attribute. - Because it looks sexy (JS way looks ugly).
Tip: You can use f:passThroughAttribute
for every JSF element which does not have any specific attribute of newer HTML specifications.
Solution 2:
A real quick solution with Javascript would be (assuming you have got jQuery loaded):
<script>
$(function(){
$("#form").attr("autocomplete", "off");
});
</script>
If you want to stay with vanilla Javascript, you can do:
<script>
document.addEventListener("DOMContentLoaded", function(){
document.getElementById("form").setAttribute("autocomplete", "off");
});
</script>
Note: For the second solution make sure your browser is covered here: https://developer.mozilla.org/en-US/docs/DOM/Mozilla_event_reference/DOMContentLoaded#Browser_compatibility If not you might be better off using the first solution.