1

次のJSPページで処理できるように、フォームの結果を配列に取得しようとしています。

現在私はこのコードを持っています:

$("seguimiento").submit(function(){
        var labels = new Array();
        var val = new Array();
        $(":input").each(function(){
           if ($(this).val() >0) {
              labels.push($(this).attr('name'));
              val.push($(this).val());
           }
        });
        console.log("ya hemos rellenado los arrays");
       $.post("enviar.jsp", {"etiquetas": labels.join(','), "valores": val.join(',')});
     });

しかし、それはまったく機能していません。コンソールにデバッグメッセージが表示されることすらありません。

もちろん私のフォームにはname="seguimiento"

4

2 に答える 2

3

単にserialize()またはserializeArray()

$.post("enviar.jsp",$("form").serialize(),function(d){});

コンソールメッセージを取得するには

$("form[name='seguimiento']").submit(function(e){
        e.preventDefault();
        var values = $(this).serializeArray();//this contains the array you want
        console.log(values);
        $.post('enviar.jsp',values,function(d){
             //d is the output of enviar.jsp
             console.log(d);
        });
     });

データに応じて、を使用window.locationしてenviar.jspにリダイレクトし、データをurl変数として送信することを検討できます。

于 2013-03-26T11:34:12.453 に答える
2

javascriptの配列を渡すことはできません。配列パスのコンマ区切りの文字列を送信する代わりに、joinを使用して配列からコンマ区切りの文字列を作成できます。

変化する

$.post("enviar.jsp", {etiquetas: labels, valores: val});

$.post("enviar.jsp", {"etiquetas": labels.join(','), "valores": val.join(',')});
于 2013-03-26T11:28:43.523 に答える