我有个form 要使用$.post,然后在把结果显示到<DIV>中,<form method="POST" id="myform">
<input type="text" id="id1" name="name1" />
<input type="text" id="id2" name="name2" />
<input type="text" id="id3" name="name3" />
.......................
<input type="text" id="id9" name="name9" /> </form>
<div id ='result'>
</div>
怎么可以直接把所有input的数据都传递了,而不是
   var ID1 = $('#id1).val();
     var id2= $('#id2).val();//设置9个变量,感觉太傻了。
..................
                     $.post("test.php", {IDOne: id1,....},
            function(html){
                $("#result").html(html);
            }, "html");

解决方案 »

  1.   


    for(var i=1;i<=9;i++){
      eval("var id" + i + " = $('#id'" + i + ").val();");
    }
      

  2.   

    你理解错我的意思了,用loop还是9个变量。
      $.post("test.php", {IDOne: id1,....},关键是这里, 
    不能直接post一个form吗?
      

  3.   

    var o = new Object();
    for(var i=1;i<=9;i++){
    var val = $("#id"+i).val();
    eval("o.ID"+i+":"+"'"+val+"'");
    }
    $.post("test.php", o);
      

  4.   

    修正个错误
    var o = new Object();
    for(var i=1;i <=9;i++){
    var val = $("#id"+i).val();
    //eval("o.ID"+i+":"+"'"+val+"'");
    eval("o.ID"+i+"="+"'"+val+"'");}
    $.post("test.php", o);
      

  5.   

       $.post("test.php", $("#myform").serialize(),
      

  6.   

    $("#myform").serialize()序化参数就可以了