2

ボタンがあり、ダイレクトクリックイベントが発生する前に検証(クライアント側)を形成したい.私は多くの方法を試しましたが失敗しました.

**私はすでにこのようにテキストボックスを設定しています。

 <ext:TextField ID="Ad" runat="server" FieldLabel="Dem ad" Flex="1" AllowBlank="false" CausesValidation="true"> </ext:TextField>

ただし、テキストボックスをチェックする前でも直接起動します


<ext:Button ID="Button1" runat="server" Text="save" Icon="Disk">
                                  <DirectEvents>

                                    <Click OnEvent="Dem">
                                        <Confirmation ConfirmRequest="true"  Title="Title" Message="are u sure you want to update..." />

                                    </Click>

                                </DirectEvents>


                            </ext:Button>
4

1 に答える 1

3

いくつかのオプションがあります。

  1. DirectEvent の Before ハンドラまたは同じ Listener から false を返すことができます。

    protected void Submit(object sender, DirectEventArgs e) { X.Msg.Alert("Submit", "Submitted").Show(); }

    Ext.NET v2 の例

        <ext:FormPanel ID="FormPanel1" runat="server">
            <Items>
                <ext:TextField runat="server" AllowBlank="false" />
            </Items>
        </ext:FormPanel>
    
        <ext:Button runat="server" Text="Submit">
            <%--<Listeners>
                <Click Handler="return false;" /> it has the same effect as returning false from a DirectEvent's Before.
            </Listeners>--%>
            <DirectEvents>
                <Click OnEvent="Submit" Before="return App.FormPanel1.isValid();" />
            </DirectEvents>
        </ext:Button>
    </form>
    

  2. 別のアプローチはFormBindを使用することです。FormPanel が無効な場合、コンポーネントを自動的に無効にします。コンポーネントは FormPanel に属している必要があります。

    protected void Submit(object sender, DirectEventArgs e) { X.Msg.Alert("Submit", "Submitted").Show(); }

    Ext.NET v2 の例

        <ext:FormPanel ID="FormPanel1" runat="server" Width="200">
            <Items>
                <ext:TextField runat="server" AllowBlank="false" />
            </Items>
            <Buttons>
                <ext:Button runat="server" Text="Submit" FormBind="true">
                    <DirectEvents>
                        <Click OnEvent="Submit" />
                    </DirectEvents>
                </ext:Button>
            </Buttons>
        </ext:FormPanel>
    </form>
    

  3. FormPanel のValidityChangeイベントをリッスンして、いくつかのカスタム アクションを適用できます。

于 2013-06-10T14:13:04.410 に答える