-1

a4j:commandbuttonが2つのテキストボックスの値をキャプチャするページがあります。テキストボックスの値は、次のようにデフォルト設定されます。

 <a4j:region id="pnreg" >
  <h:inputText id="pn" binding="#{bean.pn}"
  value="Enter Number..."       
  onclick="clickclear(this, 'Enter Number...')"/>      
  </a4j:region> 
  </td>   
  <td width="20">
  <a4j:region id="qtyreg" > 
  <h:inputText value="Enter Part Qty..." id="qty" binding="#{bean.qty}"       
  onclick="clickclear(this, 'Enter Qty...')"/>      
  </a4j:region>
  </td>      
  <td width="20%">
  <a4j:commandButton id="addPart" render="pn,qty" value="Add Part"
   action="#{bean.submit}" /> 

ページが最初に読み込まれると、テキストボックスにデフォルト値が表示され、ユーザーがそれらをクリックすると、値はコード化されたものとしてクリアされます。ボタンをクリックすると、テキストボックスをデフォルト値に戻したいのですが。jqueryを使用して、クリックイベントハンドラーを追加する必要があると思いますが、richfaces apiにはすでにa4j:commandbuttonに接続されたイベントハンドラーがあります。jqueryイベントハンドラーをrichfacesイベントハンドラーで動作させるにはどうすればよいですか?ありがとう。

4

3 に答える 3

0

テキスト フィールドで clickclear() を呼び出す新しい JavaScript 関数を作成します。次に、a4j:commandButton を変更し、oncomplete="yourNewFuction();" を追加します。属性を追加して、AJAX 呼び出しが完了したときに新しい関数が実行されるようにします。

于 2012-04-11T15:41:21.547 に答える
0

inputText の値を元に戻したい場合は、次のonclickメソッドにjs 関数を追加する必要がありa4j:commandButtonます。

<a4j:commandButton id="addPart" value="Add Part"
    onclick="alert('Before the ajax submit...');verifyInputTexts();"
    action="#{bean.submit}"
    render="pn,qty" limitToList="true"
    oncomplete="alert('Ajax completed!')" /> 

そのコード サンプルでは、 verifyInputTexts​​javascript を使用して HTML を検証するための JS 関数である可能性があります。もう 1 つ、私が の属性をa4j:commandButton実行順に記述した方法limitToList="true"は、ajax がrendervalue 内のコンポーネントのみを再レンダリングする必要があることを伝えることです。

于 2012-04-11T17:18:17.540 に答える
0

inputText を「キャンセル」ボタンと同じフォーム内に配置し、type="reset" を使用します。例:

    <h:form id="globalNotificationSettingsForm"> 
       your input <h:inputText>
       <a4j:commandButton id="cancelButton"
         ....other tags..
        render="globalNotificationSettingsForm"
        immediate="true"
        type="reset"/>
 </h:form>
于 2015-05-21T10:00:28.517 に答える