我正在使用jsf和primefaces。我希望在表单加载时调用重置功能。但到目前为止,我无法实现它。
<script type="text/javascript">
function reset(){
alert("dsdsd");
document.getElementById('A1938:create-ticket').reset();
}
window.onload=function(){reset();};
</script>
<h:form id="create-ticket">
<p:dialog id="dialog" header="Select different user" widgetVar="dlg" modal="true">
<ui:include src="searchpopup.xhtml" />
</p:dialog>
肯定不是gona工作,因为jsf以不同的方式翻译页面。任何想法。
警报被调用。所以我希望表单在加载时重置自己类似于form.reset()
感谢, 何秀兰
答案 0 :(得分:1)
在页面加载时调用重置没有任何意义。也许你误解了reset()
的含义。 form.reset()
不会清除输入字段,而是将输入值重置为初始值。即当您获得具有预填充输入的表单然后更改它们时,reset()
将使用初始值重新初始化它们,就像加载页面时一样。因此,只有当初始值已经为空时,才会在reset()
上清除该表单。
因此,为了实现您的具体功能需求,您需要直接清除bean属性,而不是摆弄form.reset()
而不是您认为它做的事情。或者,更好的是,将bean放在请求或视图范围内,并确保通过全新的GET请求打开表单。