2016-04-07 1 views
0

ユーザーが何らかの選択を行うためのアクションダイアログを開きたいとします。ページ自体は読み取りモードです。しかし、はい、対話には入力フィールドがあります。ユーザーがページを再読み込みしたときにフォームの再送信の確認ダイアログを表示しないようにしたい。ここに私のXPageは次のとおりです。Suppress Confirm Form Resubmissionダイアログ

<?xml version="1.0" encoding="UTF-8"?> 
<xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
    enableModifiedFlag="false" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
    <xp:button value="Label" id="button1"> 
     <xp:eventHandler event="onclick" submit="true" 
      refreshMode="complete"> 
      <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action> 
     </xp:eventHandler> 
    </xp:button> 
    <xp:br></xp:br> 
    <xp:br></xp:br> 
    <xe:dialog id="dialog1"> 
     <xe:dialogContent id="dialogContent1"> 
      <xp:inputText id="inputText1" style="width:654.0px"></xp:inputText> 
     </xe:dialogContent> 
     <xe:dialogButtonBar id="dialogButtonBar1"> 
      <xp:button value="OK" id="button2"> 
       <xp:eventHandler event="onclick" submit="false"> 
        <xp:this.script><![CDATA[XSP.closeDialog("#{id:dialog1}");]]></xp:this.script> 
       </xp:eventHandler> 
      </xp:button> 
     </xe:dialogButtonBar> 
    </xe:dialog> 
</xp:view> 
+0

が、これは完全な完全なXMLですXPageのマークアップまたは抽出のみ? XPageはドキュメントに関連付けられていますか? XPageをどうやって開きますか? –

+0

これは完全な完全なXMLです。ドキュメントには関連付けられていません。通常のxPageとして開かれています。... com/mypage.xsp – VladP

+0

投稿/リダイレクト/パターンのインスピレーションを受けてください。単に、ダイアログの後にURLを「取得」するようにリダイレクトします。そのページは再送信を促されません。戻るボタンに気をつけて、それは別の話です –

答えて

0

それは少し醜いですが、あなたは、サーバー側のJavaScriptを追加することで、ダイアログを閉じた後、全体のXPageをリロードすることができます - ダイアログを閉じ、クライアント側のJSに加えて。私は閉じるボタンのコードは次のようになります...あなたは、これはあまりにも実行されることを保証する必要があるので、あなたはダイアログでより多くのコードとロジックが含まれることを前提としています

 <?xml version="1.0" encoding="UTF-8"?> 
     <xp:view xmlns:xp="http://www.ibm.com/xsp/core" 
enableModifiedFlag="false" xmlns:xe="http://www.ibm.com/xsp/coreex"> 
<xp:button value="Label" id="button1"> 
    <xp:eventHandler event="onclick" submit="true" 
     refreshMode="complete"> 
     <xp:this.action><![CDATA[#{javascript:getComponent("dialog1").show();}]]></xp:this.action> 
    </xp:eventHandler> 
</xp:button> 
<xp:br></xp:br> 
<xp:br></xp:br> 
<xe:dialog id="dialog1"> 
    <xe:dialogContent id="dialogContent1"> 
     <xp:inputText id="inputText1" style="width:654.0px"></xp:inputText> 
    </xe:dialogContent> 
    <xe:dialogButtonBar id="dialogButtonBar1"> 
     <xp:button value="OK" id="button2"> 
      <xp:eventHandler event="onclick" submit="true" refreshMode="complete"> 
       <xp:this.script><![CDATA[XSP.closeDialog("#{id:dialog1}");]]></xp:this.script> 
       <xp:this.action><![CDATA[#{javascript:context.reloadPage()}]]></xp:this.action> 
      </xp:eventHandler> 
     </xp:button> 
    </xe:dialogButtonBar> 
</xe:dialog> 
</xp:view> 
+0

それは動作しません.. OKボタンをクリックしてダイアログを閉じて、ページをリロードしようとすると、 "フォームの再確認の確認"ダイアログが表示されます – VladP

+0

閉じるときにページが実際にリロードされますダイアログ? –

+0

私のページの全XMLマークアップを投稿しました –

関連する問題