如何将复选框表单元素发布到PHP脚本?

时间:2012-06-01 15:11:34

标签: php jquery jquery-datatables

我正在尝试在datatables.net表格中提交带有复选框元素的表单。

此示例说明了我要执行的操作:http://www.datatables.net/examples/api/form.html

但是我没有发布警告消息,而是希望发布值(使用表单操作到PHP脚本)

我添加了这一行......

<form id="form" action="test.php" method="post">

并删除了警告......

alert( "The following data would have been submitted to the server: \n\n"+sData );

但我的PHP脚本只能使用datatables.net的寻呼机按钮查看当前“页面”上发布的复选框值。保留脚本中的警报行,我确实看到了所有正确的复选框值。

如何删除警报并将序列化数据发布到我的test.php脚本?

3 个答案:

答案 0 :(得分:0)

jquery的:

$('#submit_to_test').click(function(){
  $.ajax({
  type: "POST",
  url: "test.php",
  data: $('#form').serialize(),
  success: function(data){
    alert(data);
  }
  });
});

在html中添加一个带有id的按钮,例如:

<button id="submit_to_test">Submit</button>

答案 1 :(得分:0)

确保您已删除警告下方的 return false; (“以下数据已提交给服务器:\ n \ n”+ sData);

您还可以删除整个表单提交功能,如下所示,因为它不再需要

    $('#form').submit( function() {
    var sData = $('input', oTable.fnGetNodes()).serialize();
    alert( "The following data would have been submitted to the server: \n\n"+sData );
    return false;
} );

答案 2 :(得分:0)

我想我今天很早就解决了这个问题,为了寻找其他我发现你问题的东西,这是我的解决方案

//这将选择所有的复选框或DESELECT

//对于“全部选择”工作,您必须为此示例创建ID为“ib_seleccionar_todos”的隐藏输入 和另一个名为“is_seleccionados”的输入,用于发送到其他php页面

//注意:这里对象数据表名为“tbl_buscar_exalumnos_Table”,为你使用的那个改变了这个

$('#lnk_opt_seleccionar_todos').click( function(event){
    if ( $("#ib_seleccionar_todos").val() == 0 ){
        $(':input:checkbox.chk_seleccionado', tbl_buscar_exalumnos_Table.fnGetNodes()).attr("checked", "checked");
        $("#ib_seleccionar_todos").val(1);
    } else {
        $(':input:checkbox.chk_seleccionado', tbl_buscar_exalumnos_Table.fnGetNodes()).removeAttr("checked");
        $("#ib_seleccionar_todos").val(0);
    }
    event.preventDefault();
});

$("#btn_agregar_mailing").click( function(){            
     $("#frm_mailing").submit(); 
});

$('#frm_mailing').submit( function() {
    var sData = $('input', tbl_buscar_exalumnos_Table.fnGetNodes()).serialize();
    $('#is_seleccionados').val(sData);
});

那样,会制作一个SERIALIZE数组。 像这样的东西

 [is_seleccionados] => chk_seleccionado%5B%5D=9755396&chk_seleccionado%5B%5D=9907119&chk_seleccionado%5B%5D=12955872&chk_seleccionado%5B%5D=13023863

我在收到的页面中爆炸的那个

$is_seleccionados  = $_POST["is_seleccionados"];
$ia_arma_selecciondos = explode("&", $is_seleccionados );

    foreach( $ia_arma_selecciondos  as $key => $value ){
        $ia_rut_selecc = explode("=", $value );
        $ia_seleccionado[] = $ia_rut_selecc[1];
    }

    $ia_seleccionado = array_values( array_unique($ia_seleccionado) );
    // $ia_seleccionado = array_values($ia_seleccionado);
    foreach( $ia_seleccionado  as $key => $ii_rut_value ){
       //DO SOMETHING with $key or $ii_rut_value
    }

希望工作。 里卡多·穆尼奥斯 万岁智利!