如何在Jquery [$(this)]中选择单击的表单

时间:2017-09-01 06:09:47

标签: javascript jquery

这是我的代码:

function onsubmitlogin(token) 
{
  $(document).ready(function()
  {  

    $("form.formajax").submit(function(e) 
    {

      e.preventDefault();

      var data = $(this).serialize();
      var url = $(this).attr("action");
      var form = $(this); 
      $.post(url, data, function(data) 
      {

        $(form).children(".signupresult").css("opacity", "1");
        $(form).children(".loginresult").html(data.loginresult);
        $(form).children(".loginresult").css("opacity", "1");

      });
      return false;
    });

    $(this).submit();
  });
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>


<form action="abc.com" method="post" class="formajax" >
<input type="text">
<input type="submit">
</form>

<form action="xyz.com" method="post" class="formajax" >
<input type="text">
<input type="submit">
</form>

问题在于此行$(this).submit();(jquery代码的最后第3行)

我只想提交点击的表单。有什么问题?

$(this);正在处理上述代码

1 个答案:

答案 0 :(得分:0)

请尝试以下操作:

function onsubmitlogin(token){
  $(document).ready(function(){  

    $("form.formajax").each(function(e){ 
      $(this).submit(function(e){
        e.preventDefault();
        var data = $(this).serialize();
        console.log(data);
        var url = $(this).attr("action");
        console.log(url);
        var form = $(this); 
        $.post(url, data, function(data){
          $(form).children(".signupresult").css("opacity", "1");
          $(form).children(".loginresult").html(data.loginresult);
          $(form).children(".loginresult").css("opacity", "1");
        });
        $(this).submit();
        return false;
      });
    });

  });
};