0

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 スクリプトに投稿するにはどうすればよいですか?

4

3 に答える 3

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>
于 2012-06-01T15:25:34.203 に答える
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;
} );
于 2012-06-01T15:25:47.377 に答える
0

今日の早い段階でこれを解決したと思います。他の何かを探していると、質問が見つかりました。これが私の解決策です

// これにより、すべてのチェックボックスが選択されるか、選択が解除されます

// この例では、「すべて選択」作業用に ID「ib_seleccionar_todos」を持つ非表示の入力を作成し、他の PHP ページに送信するために「is_seleccionados」という名前の別の入力を作成する必要があります。

// 注: ここでは、オブジェクト データテーブルの名前は "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
    }

希望の仕事。リカルド・ムニョス・ビバ・チリ!

于 2012-06-05T20:54:24.310 に答える