JSF表单onload reset()功能不起作用

时间:2013-03-15 14:55:45

标签: jsf primefaces

我正在使用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()

感谢, 何秀兰

1 个答案:

答案 0 :(得分:1)

在页面加载时调用重置没有任何意义。也许你误解了reset()的含义。 form.reset()不会清除输入字段,而是输入值重置为初始值。即当您获得具有预填充输入的表单然后更改它们时,reset()将使用初始值重新初始化它们,就像加载页面时一样。因此,只有当初始值已经为空时,才会在reset()上清除该表单。

因此,为了实现您的具体功能需求,您需要直接清除bean属性,而不是摆弄form.reset()而不是您认为它做的事情。或者,更好的是,将bean放在请求或视图范围内,并确保通过全新的GET请求打开表单。