【问题标题】:this input submit selector with closest form submit此输入提交选择器与最接近的表单提交
【发布时间】:2012-06-24 16:25:47
【问题描述】:

下面的代码有问题。我不确定为什么这个选择器不起作用,如果我点击提交它不起作用。有没有人知道不使用 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;           
  });
});

【问题讨论】:

  • 提及你正在尝试做的事情真的会有所帮助。

标签: jquery jquery-selectors


【解决方案1】:

尝试:

$(document).ready(function() {
  $("input[type='submit']").click(function() {
    $(this).closest('form').submit(function (evt) {
           //evt.preventDefault();
           alert(1);
           return false;
    });
  });
});

【讨论】:

【解决方案2】:

更改您的代码:

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

收件人:

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

您的代码中的thiswindow&lt;form&gt; 内没有任何内容。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-23
    • 2016-12-04
    • 2016-03-14
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    相关资源
    最近更新 更多