2

次のコードでは、jqueryからのポップアップフォームを閉じ、[いいえ]ボタンをクリックするとアクションを送信せず、[削除]をクリックすると削除しようとしました。以前は機能していましたが、[キャンセル]をクリックしても、フォームがコントローラーに送信され、削除アクションが実行されます。何が悪かったのですか?キャンセルボタンでポップアップを閉じても送信しないようにするにはどうすればよいですか。

@using (Html.BeginForm())
        {
            <fieldset style="width:70%;">


                            @Html.Hidden("CnoType", Model.CnoType, Model)


                               <b> Description: </b>

                                @Html.DisplayFor(Desc=>Model.CNoDesc)<br />

                                <b> Prefix:</b>&nbsp;&nbsp;

                                @Html.DisplayFor(Prefix=>Model.CnoPrefix)<br />

                            <b>Is Enable</b> &nbsp;
                           @Html.CheckBox("IsEnable", Model.IsEnable, Model)



            </fieldset>

            <input id="btn" type="submit" value="Delete" />

             <button class="Close">Cancel</button>

        }

これが私のjqueryです

<script type="text/javascript">

            $.ajaxSetup({ cache: false });

            $(document).ready(function () {
                $(".openDialog").live("click", function (e) {
                    e.preventDefault();

                    $("<div></div>")
                    .addClass("dialog")
                    .attr("id", $(this)
                    .attr("data-dialog-id"))
                    .appendTo("body")
                    .dialog({
                        title: $(this).attr("data-dialog-title"),
                        minWidth: 500,
                        minHeight: 100,
                        resizable: false,
                        close: function () { $(this).remove() },
                        modal: true
                    })

                    .load(this.href);
                });

                $(".close").live("click", function (e) {
                    e.preventDefault();
                    $(this).closest(".dialog").dialog("close");
                });
            });

</script>

e.preventDefault()が機能していないようです

4

2 に答える 2

1

このコードをjqueryページのloadメソッドに入れます。

$(document).ready(function(){
     $(".Close").click(function(){
         $.colorbox.close();  // if you are using colorbox for generating the popup.
     });
});
于 2012-07-10T04:45:16.643 に答える
0
$(document).ready(function(){
     $(".Close").click(function(){
         return false;  //prevents default action (submit)
     });
});

また

$(document).ready(function(){
     $(".Close").click(function(event){
         event.preventDefault();  //prevents default action (submit)
     });
});
于 2012-07-10T05:03:57.027 に答える