比如有这样一个表单 ,添加 姓名  年龄 等信息,开始只有两行列表, 当还要添加的时候 点击 “添加”按钮,显示一个新行,继续输入, 要求将添加的信息 存储到数据库中 ,谢谢大家

解决方案 »

  1.   

    大概也可以这样<?php 
    session_start();
    //unset($_SESSION['rows']);
    if(!isset($_SESSION['rows'])){ 
    $_SESSION['rows'] = array(
    array('name'=>'','age'=>''),
    array('name'=>'','age'=>''),
    );
    }else{
    $rows = count($_SESSION['rows']);
    for($i=0;$i<$rows;$i++){
    $_SESSION['rows'][$i] = array('name'=>$_POST['name'][$i],'age'=>$_POST['age'][$i]);
    }
    if(isset($_POST['addrow'])){
    $_SESSION['rows'][] = array('name'=>'','age'=>'');
    }
    if(isset($_POST['add'])){
    $rowData = $_SESSION['rows'];
    unset($_SESSION['rows']);
    var_dump($rowData);exit;
    }
    }
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta name="generator" content="editplus" />
      <meta name="author" content="" />
      <meta name="keywords" content="" />
      <meta name="description" content="" />
     </head> <body>
      <form method="post" action="">
    <?php foreach($_SESSION['rows'] as $ky=>$val):?>
    姓名<input type="text" name="name[]" value="<?php echo $val['name'];?>" />
    年龄<input type="text" name="age[]" value="<?php echo $val['age'];?>" /><br/>
    <?php endforeach;?>
     <input type="submit" id="add" name="addrow" value="添加一行"/>
     <input type="submit" id="submit" name="add" value="提交"/>
      </form>
     </body>
    </html>
      

  2.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>无标题文档</title>
    <script type="text/javascript">
    window.onload = function() {
    document.getElementById('btn_newRow').onclick = function() {
    var tbl = document.getElementById('tbl');
    var newRow = tbl.insertRow(tbl.getElementsByTagName('tr').length - 1);

    var newCell_01 = newRow.insertCell(-1);
    var newCell_02 = newRow.insertCell(-1);
    var newCell_03 = newRow.insertCell(-1);

    newCell_01.innerHTML = '<input type="text" name="txt_name[]" />';
    newCell_02.innerHTML = '<input type="text" name="txt_age[]" />';
    newCell_03.innerHTML = '<input type="text" name="txt_department[]" />';
    }
    }
    </script>
    </head><body><style type="text/css">
    td { border:1px solid #000; }
    </style>
    <form method="post">
      <table style="width:200px; border-collapse:collapse;" id="tbl">
        <tr>
          <td>姓名</td>
          <td>年龄</td>
          <td>单位</td>
        </tr>
        <tr>
          <td><input type="text" name="txt_name[]" /></td>
          <td><input type="text" name="txt_age[]" /></td>
          <td><input type="text" name="txt_department[]" /></td>
        </tr>
        <tr>
          <td><input type="text" name="txt_name[]" /></td>
          <td><input type="text" name="txt_age[]" /></td>
          <td><input type="text" name="txt_department[]" /></td>
        </tr>
        <tr>
         <td colspan="3" style="text-align:right;"><input type="button" id="btn_newRow" value="添加新行" /><input type="submit" value="保存数据" /></td>
        </tr>
      </table>
    </form></body>
    </html>