2016-10-07 5 views
-1

私はASP.NET MVC C#アプリケーションを開発しています。フォームのサブミットボタンをクリックするとトリガする単純なクリックイベントをコーディングしようとしています。@ Html.BeginForm内の要素をjQueryでどのように選択できますか?

問題は、$( '。class')セレクタが、私の@ Html.BeginForm(yada yada yada){}句の中のすべてに見えないことです。

$(document).ready()のアラートが発生するので、jQueryが読み込まれて動作していますが、$( '。myButton')のアラートが発生します。 、

  • はフォームの外ボタンを配置:

    はここにここに私のjQuery

    @section Scripts{ 
    <script> 
        $(document).ready(function() { 
         $('.add').click(function (e) { 
          alert('Hi'); 
          $('input:text').val(''); 
         }); 
        }); 
    </script> 
    

    }私が試してみました

    物事は私.cshtml

    @using (Html.BeginForm("ManageProducts", "Admin", FormMethod.Post, new { id = "productForm" })) 
    { 
    ... 
    <input type="submit" value="Update" class="add btn btn-default" /> 
    } 
    

    です警告発砲

  • $( '#productForm .add')。(...)をクリックすると、アラートはまだ起動しません。
  • $( '入力:ボタン')クリックして(...)、警告はまだ発火しません。
  • 約2時間、グーグルでは、警告はまだ発火しません。(
  • ()

申し訳ありませんが、これは重複しているようですが、実際にこの同じ質問の投稿が複数見つかりましたが、「正しい」回答は常に上記のリストの2番目または4番目の項目です私の問題を修正しないでください。

ありがとうございました!

+0

:前にこのような何かが私のために働いています。あなたのために働いていない場合は、コードのためにあなたは私たちを示していない。 –

+0

つまり、基本的には新しいMVCプロジェクトです。表示する追加コードはありません... –

答えて

0

今のようにフォームは、jqueryを実行した場合にその入力がクリックされたときにAdminコントローラのManageProductsアクションにサブミットしようとします。あなたのための1つのオプションは、そのコントローラアクションの代わりに提出する際にあなたのロジックを起動することです。このようなもの:

@using (Html.BeginForm(new { onsubmit = "return alertStuff();" })) 

<script type="text/javascript"> 
    function alertStuff() { 
     alert('Hi'); 
    } 
</script> 

私はjqueryのon submit機能を使って運が良かった。あなたが示されているコードは正常に動作して、送信ボタンをクリックすると、「こんにちは」警告が表示されます

<script type="text/javascript"> 
    $(function() { 
     $("#productForm").on("submit", function() { 
      alert('Hi'); 
      if (youDontWantToSubmitForm) { 
       return false; 
      } 
     }); 
    }); 
</script> 
関連する問題