本帖最后由 prosoft 于 2010-03-02 11:57:55 编辑

解决方案 »

  1.   

    在php里处理方式和平时一样, 那个jquery序列化只是方便传送, 不会作出其它改变,你打印一下$_POST数组就是知道, 其实你也可以直接用$_POST['name']来获得表单值。
      

  2.   

    你想取哪個值就取哪個的名字,$_post["name1"];
    全部要就遍歷全部提交的數據不就行了。
      

  3.   

    关键是$_post["name ??????? "];  不确定是几? 可能是1,也可能是3.
      

  4.   


    放在form中的单元,都会被提交到服务器的,各个后缀都存在,不用担心
      

  5.   

    声明 jquery序列表表格内容为字符串,用于 Ajax 请求。HTML 代码:
    <p id="results"><b>Results: </b> </p>
    <form>
      <select name="single">
        <option>Single</option>
        <option>Single2</option>
      </select>
      <select name="multiple" multiple="multiple">
        <option selected="selected">Multiple</option>
        <option>Multiple2</option>
        <option selected="selected">Multiple3</option>
      </select><br/>
      <input type="checkbox" name="check" value="check1"/> check1
      <input type="checkbox" name="check" value="check2" checked="checked"/> check2
      <input type="radio" name="radio" value="radio1" checked="checked"/> radio1
      <input type="radio" name="radio" value="radio2"/> radio2
    </form>jQuery 代码:
    $("#results").append( "<tt>" + $("form").serialize() + "</tt>" );徐立华
      

  6.   

    我的问题不在这里.
    我可能没有表达清楚:form里input是动态添加/删除的. 我在提问时忘了写删除按钮.
    添加的id有可能被删除,这就导致服务器不知道到底传过来了哪些值?<button>(动态)增加(一行)</button> <button>(动态)删除(一行)</button>
    //假设用户已经生成了三个输入,可能由于某种原因用户会删除id=name2的输入,导致传给服务器的值只有_post[name1]和[name2],而没有[name2],所以在写入数据库时会很麻烦的
    <form>
    <input tpye="text" id=name1 name=name1 /><input tpye="text" id=age1 name=age1 /> 
    <input tpye="text" id=name2 name=name2 /><input tpye="text" id=age2 name=age2 />
    <input tpye="text" id=name3 name=name3 /><input tpye="text" id=age3 name=age3 />
    ......
    </form>
      

  7.   

    提交太急了,有写错的地方.//假设用户已经生成了三个输入,可能由于某种原因用户会删除id=name2的输入,导致传给服务器的值只有_post[name1]和[name3],而没有[name2],所以在写入数据库时会很麻烦的 
      

  8.   

    <button>(动态)增加(一行)</button>
    <form>
    <input tpye="text" id=name1 name=name1 /><input tpye="text" id=age1 name=age1 /><span>删除</span> 
    <input tpye="text" id=name2 name=name2 /><input tpye="text" id=age2 name=age2 /><span>删除</span> 
    <input tpye="text" id=name3 name=name3 /><input tpye="text" id=age3 name=age3 /><span>删除</span> 
    <input tpye="text" id=name4 name=name4 /><input tpye="text" id=age4 name=age4 /><span>删除</span>
    <input tpye="text" id=name5 name=name5 /><input tpye="text" id=age5 name=age5 /><span>删除</span>
    </form>现在用户删除了
    <input tpye="text" id=name3 name=name3 /><input tpye="text" id=age3 name=age3 />
    <input tpye="text" id=name5 name=name5 /><input tpye="text" id=age5 name=age5 />请问后台add.php该怎样处理???谢谢
      

  9.   

    $arr = $_POST;
    $data = array();
    foreach ($arr as $k => $v) {
    if (preg_match('/(?<=name)\d+/',$k,$m)) {
    $data[] = array($v,$arr['age'.$m[0]]);
    }
    }
    var_dump($data);
      

  10.   

    如果确定不了id名,就给他们一个一样的class,然后处理后再提交:
    <input tpye="text" id=name1 name=name1 class="inputclass" />$(".inputclass").each(function(){
      //遍历所有class=inputclass的值
    }
      

  11.   

    $(".inputclass").each(function(){  
      alert($(this).val());//遍历所有class=inputclass的值 
    });
      

  12.   

    无论input里的name怎么变, 只要你提交了, 就存$_POST中, 可以用正则选择你想要的值, 解决思路如10楼差不多
      

  13.   

    jquery $("form").serialize() 
    是把表单form中的有效元素编码成标准的URL参数串
    你使用的是POST方式,所以在php中可用$_POST得到全部提交数据你的难点是如何知道提交过来的键名
    其实,如果你用字段名来设置表单对象名,这个问题就迎刃而解了$fields = join(',', array_key($_POST));
    $values = "," . join("','", $_POST) . "'";
    $sql = "insert into tbl_name ($fields) values ($values)";