1

OK、この質問はもともとひどく尋ねられました。これは、より多くの情報と私のコードのかなりの部分です。このコードの背後にあるアイデアは、ユーザー入力情報を含む aspx フォームであり、送信ボタンを使用して、C# を使用して mySQL サーバーにコードを送信します。セールスマンの入力を忘れると、ダイアログ ボックスが開き、再度セールスマンを入力するよう求められます。

ダイアログ ボックスのコードは次のとおりです。

<div id="dialog" title="Dialog Title"><asp:label id="lblSalesman" onChange="GetSalesman()" Runat="server" /></div>   //THE ASP:LABEL REFERS TO A DROP DOWN LIST THAT WAS CREATED AND POPULATED BY c#.
   <script type="text/javascript" language="javascript">
       function stopSubmit() {
        $('form').bind('submit', function (event) {
        event.preventDefault();
       });
                             }

      $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        buttons: {
        "Save": function () {

      $('#btnSubmit').click('btnSubmit');   //THIS IS SUPPOSED TO CLICK A BUTTON ON THE ORIGINAL ASPX FORM THAT WILL TRIGGER C# TO SUBMIT THE FORM TO A MYSQL SERVER
      $(this).dialog("close");
         }
        }
      });

      $("#opener").click(function () {
          stopSubmit();                      
          $("#dialog").dialog("open");
      });

   </script>

すべて大文字は皆さんへのコメントです。

このダイアログ ボックスは、検証ステートメントによってトリガーされます。検証が失敗すると、ダイアログ ボックスが実行されます。これを入れて、

$('form').bind('submit', function (event) {
        event.preventDefault();

このコードが実行されない場合に備えて、検証が真になった場合、元のフォームの送信ボタンは引き続き機能します。これにより、ダイアログ ボックスがトリガーされた後にダイアログ ボックスがページをリロードするのを効果的に停止します。問題は、ダイアログ ボックスの [保存] ボタンが $'(#btnSubmit').click('btnSubmit'); を実行できないことです。event.preventDefault は、ボタンに組み込まれた送信が機能しないのを防ぐためです。event.preventDefault() またはフォームを送信する別の方法を元に戻す方法はありますか?

4

3 に答える 3

1

<form onsubmit="return false"></form>それが動作します

$("#btnSubmit").trigger("click");
于 2013-07-08T18:02:03.540 に答える
0

この質問との混乱をお詫び申し上げます。それはまさに私にとって桃でした。私は答えを見つけました。以下のコードを使用して、送信が再び機能するようにしました。

$('form').unbind('submit');

これはバインドを解除するだけです

event.preventDefault();

送信イベントから。

于 2013-07-11T14:50:13.483 に答える