0

一点一点地,我一直在将我正在开发的 PHP Web 应用程序转换为 Jquery AJAX 表单提交。

我正在处理的当前一个是删除表格行。我认为这是我的 javascript 的问题,因为即使使用return false;. 这是我创建对象的表单的问题,但是由于这个站点的一些帮助,我得到了排序,现在它可以完全工作了。

这是我的javascript:

$("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 提交。但我似乎无法让它通过 ajax 发布数据。

您可以在http://www.sfyfe.com/studioadmin/index.php?i=customer的上下文中看到它

4

1 回答 1

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();
于 2012-08-28T02:34:46.920 回答