1

アクショングループにボタンが作成されています。ボタンの処理を停止するアクションが必要です。次のアクションの起動を停止します。

確認アクションを試しましたが、ユーザーは[OK]をクリックして続行できます。falseを返すスクリプト実行を試しましたが、何もしませんでした。

私はイベントハンドラーについて読んでいますが、これをボタンのコード自体に組み込む方法がわかりません。

ボタンの背後にある現在のコードは次のとおりです。

<xp:button id="button1" value="Create Account">
    <xp:eventHandler event="onclick" submit="true"
        refreshMode="complete" id="eventHandler1">
        <xp:this.action>
            <xp:actionGroup>
                <xp:modifyField
                    name="ac_Key" value="#{javascript:@Unique()}"
                    var="document1">
                </xp:modifyField>
                <xp:saveDocument></xp:saveDocument>
                <xp:openPage
                    name="/successAccount.xsp">
                </xp:openPage>
            </xp:actionGroup>
        </xp:this.action>
    </xp:eventHandler>
</xp:button>

ご協力ありがとうございます!

4

1 に答える 1

4

この簡単な例では、確認アクションを使用して、ユーザーが[OK]を選択した場合にのみ続行します。ユーザーが[キャンセル]をクリックしても、それ以上何も起こりません。ユーザーが[OK]をクリックすると、ブラウザーはindex.xspページを開きます。

<xp:button value="Label" id="button1">
    <xp:eventHandler event="onclick" submit="true" refreshMode="complete">
        <xp:this.action>
            <xp:actionGroup>
                <xp:confirm message="Sure?"></xp:confirm>
                <xp:openPage name="/index.xsp"></xp:openPage>
            </xp:actionGroup>
        </xp:this.action>
    </xp:eventHandler>
</xp:button>

更新:この例では、actionGroupの条件を使用して、条件がfalseの場合にactionGroupが実行されないようにすることができます。

<xp:actionGroup condition="#{javascript:validateSomething()}">
    <xp:save name="/opskrifter.xsp"></xp:save>
</xp:actionGroup>
于 2013-02-21T08:23:13.263 に答える