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 回答