1

以下のコードに問題があります。このセレクターが機能しない理由がわかりません。クリックして送信すると機能しません。IDまたはクラスセレクターを使用せずに適切な方法が何であるかを誰かが知っていますか?

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <script type="text/javascript" src="http://code.jquery.com/jquery-latest.pack.js"></script>
    </head>
    <body>
        <script>
        $(this).closest('form').submit(function () {
           alert(1);
           return false;
        });
        </script>
        <form>
          <input type="text" name="example">
          <input type="submit" class="searchBtn">
        </form>
    </body>
</html>

gdoronが私に何をしようとしているのかを尋ねてきたので、他の誰かがそれを必要とする場合は、Sudhirソリューションと一緒にコード全体をここに置きます。だから私は送信時にajaxで入力値を送信しようとしていますが、クラスまたはIDセレクターを使用したくありません:

$("input[type='submit']").click(function() {
  $(this).closest('form').submit(function() {
        var values = $(this).serialize();          
        $.ajax({
          type: "POST",
          url: $(this).closest('form').attr('action'),
          data: values,
          success: function(msg){                              
              //saving done
              closeDialog(200);                            
          }           
        });     
        return false;           
  });
});
4

2 に答える 2

2

試す:

$(document).ready(function() {
  $("input[type='submit']").click(function() {
    $(this).closest('form').submit(function (evt) {
           //evt.preventDefault();
           alert(1);
           return false;
    });
  });
});
于 2012-06-24T06:52:59.120 に答える
1

コードを変更します。

$(this).closest('form').submit(function () {
           alert(1);
           return false;
        });

に:

$(function(){
    $('form').submit(function () {
        alert(1);
        return false;
    });
}):        

thisあなたのコードには、がありwindow、中には何もありません<form>

于 2012-06-24T06:52:47.093 に答える