0

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

这肯定不会起作用,因为 jsf 以不同的方式翻译页面。任何想法。

警报被调用。所以我再次希望表单在加载时自行重置,类似于 form.reset()

谢谢,赛德

4

1 回答 1

1

在页面加载时调用 reset 毫无意义。可能你误解了 的意思reset()form.reset()不会清除输入字段,而是将输入值重置为其初始值。即,当您获得一个带有预填充输入的表单然后更改它们时,reset()它将使用初始值重新初始化它们,就像加载页面时一样。reset()因此,只有当初始值本身已经为空时,表单才会被清除。

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

于 2013-03-15T15:12:15.320 回答