Javascript 使用jquery提交特定嵌套表单onkeydown

Javascript 使用jquery提交特定嵌套表单onkeydown,javascript,jquery,Javascript,Jquery,我正在尝试在不刷新的情况下提交嵌套表单。每行包含一个名为inputbox的文本字段,当用户在嵌套表单的特定行上点击w键时,应将其提交到数据库,而不进行刷新 $(document).ready(function() { $('#inputbox').keydown(function(event) { var keycode = (event.keyCode ? event.keyCode : event.which); if (keycode == '87'

我正在尝试在不刷新的情况下提交嵌套表单。每行包含一个名为
inputbox
的文本字段,当用户在嵌套表单的特定行上点击
w
键时,应将其提交到数据库,而不进行刷新

$(document).ready(function() {
    $('#inputbox').keydown(function(event) {
        var keycode = (event.keyCode ? event.keyCode : event.which);
        if (keycode == '87') {
            $('.team_short_pass').submit(); // Submit form code
            event.preventDefault();
            $(".loader").fadeIn(); //show when submitting
            data = $(this).serialize();
            $.ajax({
                type: "POST",
                url: "../scripts/inesert_new.php",
                data: data,
                success: function(data) {
                    $('.msg').html(data);
                    $('.loader').fadeOut('fast');
                    $('.msg').slideDown(100).delay(3000).slideUp(100);

                }
            });

        }

    });
});
当我提交脚本时,它不会向数据库发送任何内容

您需要使用$('.team_short_pass')而不是$(this)来访问表单数据,因为$(this)指向输入框

$(document).ready(function(){
   $('#inputbox').keydown(function(event){
     var keycode = (event.keyCode ? event.keyCode : event.which);
     if(keycode == '87'){
       $(this).parents('.team_short_pass:eq(0)').submit(); // Submit form code
       event.preventDefault();
       $(".loader").fadeIn(); //show when submitting
       data = $(this).parents('.team_short_pass:eq(0)').serialize();

       $.ajax({
          type: "POST",
          url: "../scripts/inesert_new.php",
          data: data,
          success: function(data) {
             $('.msg').html(data);
             $('.loader').fadeOut('fast');
             $('.msg').slideDown(100).delay(3000).slideUp(100);
           }
        });
      }
  });
});
试试这个:

您需要使用$('.team_short_pass')而不是$(this)来访问表单数据,因为$(this)指向输入框

$(document).ready(function(){
   $('#inputbox').keydown(function(event){
     var keycode = (event.keyCode ? event.keyCode : event.which);
     if(keycode == '87'){
       $(this).parents('.team_short_pass:eq(0)').submit(); // Submit form code
       event.preventDefault();
       $(".loader").fadeIn(); //show when submitting
       data = $(this).parents('.team_short_pass:eq(0)').serialize();

       $.ajax({
          type: "POST",
          url: "../scripts/inesert_new.php",
          data: data,
          success: function(data) {
             $('.msg').html(data);
             $('.loader').fadeOut('fast');
             $('.msg').slideDown(100).delay(3000).slideUp(100);
           }
        });
      }
  });
});

问题是
$(this).serialize()因为
$(此)
不引用您的表单。请在此处明确使用表单的选择器。为什么要提交表单???如果您不想刷新页面,为什么要使用
$('.team\u short\u pass').submit()?问题是
$(this).serialize()因为
$(此)
不引用您的表单。请在此处明确使用表单的选择器。为什么要提交表单???如果您不想刷新页面,为什么要使用
$('.team\u short\u pass').submit()?即使点击四行中的w键,它也只插入第一条记录,并刷新整个页面。即使点击四行中的w键,它也只插入第一条记录,并刷新整个页面