我正在使用jsf和素数面。我想在加载表单时调用重置功能。但到目前为止,我无法实现它。
<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>
这肯定不会起作用,因为jsf以不同的方式翻译页面。任何想法。
正在呼叫警报。因此,我再次希望表单在加载时重置自己,类似于form.reset((
谢谢,Cyd
在页面加载时调用reset毫无意义。也许你误解了reset()
的意思。form.reset()
不清除输入字段,而是将输入值重置为初始值。也就是说,当你得到一个带有预填充输入的表单,然后更改它们时,reset()
会像加载页面时一样用初始值重新初始化它们。因此,只有当初始值本身已经为空时,才会在reset()
上清除表单。
因此,为了实现您的具体功能需求,您需要直接清除bean属性,而不是摆弄form.reset()
,因为它不会做您认为它会做的事情。或者,更好的做法是,将bean放在请求或视图范围中,并确保表单由新的GET请求打开。