2017-01-06 1 views
1

새로 고치지 않고 중첩 된 양식을 제출하려고합니다. 각 행은 포함 inputbox라고 textfiled, 내가 제출할 때 사용자가 내 스크립트 새로 고침jquery로 특정 중첩 된 양식 onkeydown을 제출하십시오.

$(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); 

       } 
      }); 

     } 

    }); 
}); 

하지 않고 데이터베이스에 제출해야하는 중첩 된 형태의 특정 행에 w 키를 누르시기가 보내 않습니다 데이터베이스

+0

문제는'$ (this)'가 자신의 양식을 참조하지 않으므로'$ (this) .serialize();'입니다. 양식의 선택기를 여기에 명시 적으로 사용하십시오. – 31piy

+0

왜 양식을 제출 하시겠습니까 ??? '$ ('. team_short_pass')가있는 이유보다 페이지를 새로 고치지 않으려면 submit();'? – epascarello

답변

0

에 아무 것도이 시도하지 : ('. team_short_pass')

당신은 $를 사용할 필요가 대신 $ (이)의를 입력 상자에 $ (이) 점으로 양식 데이터를 액세스 할 수

$(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); 
      } 
     }); 
     } 
    }); 
}); 
+0

4 행의 w 키를 치고 전체 페이지를 새로 고치더라도 첫 번째 레코드 만 삽입합니다. – user6579134

관련 문제