2012-08-27 5 views
0

비트 단위로 작성했습니다. JQuery AJAX 양식을 제출하기 위해 PHP Web app를 변환하고 있습니다.Jquery와 PHP를 사용하여 MySQL 행을 제거하십시오.

현재 작업중인 것은 테이블 행을 제거하는 것입니다. return false;으로 페이지 새로 고침을 계속하기 때문에 내 자바 스크립트에 문제가 있다고 생각합니다. 이것은 객체를 생성하는 폼의 문제 였지만,이 사이트의 도움을 받아서 분류했습니다. 이제는 완벽하게 작동합니다.

$("form#table_customer").submit(function() { 
     var query_string = 'page=customer&rows='; 

     $(":checked").each(function() { 
      query_string += this.value + "-"; 
     }); 

     $.ajax({ 
      url: "inc/deletesql.php", 
      type: "POST", 
      data: query_string, 
      cache: false, 
      success: function(data){ 
       $('#maincontent').load('inc/showObjects.php?o=customer'); 
      } 
     }); 
     return false; 
    }); 

PHP 파일은 (deletesql.php이) : 일반 POST을 제출 작동 :

여기 내 자바 스크립트입니다. 하지만 나는 아약스를 통해 데이터를 게시 할 수없는 것 같습니다.

당신은 http://www.sfyfe.com/studioadmin/index.php?i=customer

+0

경고 성공을 아약스에서 실행하는 최종 쿼리 무엇 – swapnesh

+0

의 작동 여부를 확인 data..to 요청. 쿼리를 확인 했습니까? –

+0

당신은'rows'는'1-3-5-'와'-'와 같이 될 것입니다. –

답변

0
$('#maincontent').load('inc/showObjects.php?o=customer'); 
    ... 
    // at this point form#table_customer doesn't exist yet in the DOM 
    // so this binding a handler will give no effect 
    $("form#table_customer").submit(function() { 
      .... 
    }); 

에서 맥락에서 그것을 볼 수 있습니다 대신을 시도해보십시오

// make the load reusable 

function addDeleteHandler() { 
    // handle the load event 
    // attach the event handler everytime the content is loaded, 
    // and the form#table_customer is added to the dom 
    $('#maincontent').load('inc/showObjects.php?o=customer', function() { 
     $("form#table_customer").submit(function() { 

      var query_string = 'page=customer&rows='; 

      $('input[name="checkbox"]:checked').each(function() { 
       query_string += this.value + "-"; 
      }); 

      $.ajax({ 
       url: "inc/deletesql.php", 
       type: "POST", 
       data: query_string, 
       cache: false, 
       success: function(data){ 
        addDeleteHandler(); 
       } 
      }); 

      return false; 
      }); 
     }); 
    } 

    addDeleteHandler(); 
+0

완벽. 아약스 함수가 ​​작동 중입니다. 몇 가지 경고를 사용하여 테스트했습니다. 하지만 그것은 데이터를 PHP 파일에 제출하지 않습니다. 수동으로 특정 행을 삭제하려면 URL을 입력 할 수 있지만 jquery 함수를 제출하지 않을. –

+0

$ ('# maincontent') .load()를 한 번 호출하는 것이 아니라 주목했습니다. $ ('# maincontent'). load()를 호출 할 때마다 제출 핸들러를 바인드해야한다. 'addDeleteHandler() {...}'와 같은 함수로 래핑 할 수 있으므로 재사용이 가능합니다. 그런 다음'$ ('maincontent') .load ('inc/showObjects.php? o = customer');를 호출하는 대신 항상 addDeleteHandler();를 호출합니다. – timidboy

+0

아약스가 Chrome 브라우저에서 실제로 작동하는지 확인하려면 개발자 도구> 네트워크 – timidboy

관련 문제