想用jQuery实现如下功能:点击 确定按钮 的时候获取表单的值,并且将这些值保存在数组 inf 里,再将数组里的数据作为参数实例化一个对象,苦于不能实现!
代码如下:
  HTML部分:
       <body>
 <h1>小球撞击效果模拟</h1>
    <fieldset id="fieldset_ball_inf">
      <legend><strong>新增小球</strong></legend>
      <div>
        <form id="form_ball_inf" action="">
          <div>
            <label>小球颜色:</label>
            <input type="text" name="color" value="red" id="color_Input">
          </div>
  <div>
            <label>小球速度:</label>
            <input type="text" name="speed" value="12" id="speed_Input" />
          </div>
  <div>
            <label>小球对边框弹性(0-1):</label>
            <input type="text" name="elaticity1" value="0.6" id="elaticity1_Input" />
          </div>
  <div>
            <label>两球间弹性(0-1):</label>
            <input type="text" name="elaticity2" value="0.6" id="elaticity2_Input" />
          </div>
  <div>
            <label>入射角(0-360):</label>
            <input type="text" name="inAngle" value="30" id="inAngle_Input" />
          </div>
  <div>
            <label>起始X坐标(0-400):</label>
            <input type="text" name="X" value="100" id="X_Input" />
          </div>
  <div>
            <label>起始Y坐标(0-400):</label>
            <input type="text" name="Y" value="100" id="Y_Input" />
          </div>
  <div>
            <button type="button" id="button_sure">确定</button>
          </div>
   </form>
      </div>
    </fieldset>JS部分:
      <script type="text/javascript" src="jquery-1.2.1.js"></script>
      <script type="text/javascript" src="jquery.form.js"></script>   //表单插件
      <script type="text/javascript">
var i=0;
var ball=new Array();
var inf=new Array();
function ball(color,speed,elaticity1,elaticity2,inAngle,X,Y)
    {
      this.color=color;
      this.speed=speed;
      this.elaticity1=elaticity1;
      this.elaticity2=elaticity2;
      this.inAngle=inAngle;
      this.X=X;
      this.Y=Y;
    }
        $(function(){
        $('#button_sure')
.click(function(){inf=$.toSource($('#form_ball_inf *').fieldValue()));
 })
.click(function(){
          ball[i]=new ball(inf[0],inf[1],inf[2],inf[3],inf[4],inf[5],inf[6]);i++;
        });
});</script>

解决方案 »

  1.   

    $(function(){
            $('#button_sure')
    .click(function(){
              $('#console').empty().text( $.toSource($('#form_ball_inf *').fieldValue()));
            })
    });已经用该语句验证可以获取表单值,但不知道是不是赋值给inf数组时失败了
      

  2.   

    $.toSource($('#form_ball_inf *').fieldValue())
    LZ确定这个是数组吗?
      

  3.   

    使用命令$.toSource后不敢确定是否还是数组,你有什么其他办法没?
      

  4.   

    $('#form_ball_inf *').fieldValue()应该是获取表单中所有的只吧,应该是数组,把它赋给inf即可。
      

  5.   

    这个办法试过了,由于fieldValue()返回的时一个字符串数组,不方便把值一个个取出来赋值给inf,例如:
    在inf={“red”,"12","0.6"}这个字符串数组中,每一个字符都是inf的值,inf[0]是“    inf[1]是r   inf[5]是,
    这样就没办法取出red,12,0.6这些值了  
      

  6.   

    最终用了如下语句达成目标:
    var i=0;
          var fields = $("input").serializeArray();
          jQuery.each(fields, function(index, field){inf[i]=field.value;i++;});
      

  7.   

    jQuery.each(fields, function(index, field){inf[i]=field.value;i++;});
    这里的index就是序号,i用不着
      

  8.   

    初学web开发,请大家多多指点!