我如何在PHP中无限制的字段?这是场景:
首先,只有2个字段,名为:first name1,last name1
我想要做的是,当我点击"添加"按钮时,它将在新行中添加另外两个字段,字段label/name应该是第一个name2,last name2.当我再次点击时,它将具有名字3,姓氏3,依此类推......
任何人都可以在PHP中给我一些示例脚本吗?我是PHP的新手.
表单应该是HTML格式.如果有人可以提供Ajax示例代码,那将是一个很大的优势.
Sam*_*son 10
这取决于你所说的"场".听起来好像你在谈论的是一个不是PHP的表单,而是HTML.您可以将一个按钮[添加]发回服务器,然后使用另一组表单输入刷新页面.您也可以通过javascript完成此操作,而无需刷新页面.
$(document).ready(function(){
  $("input[value='Add']").click(function(event){
    event.preventDefault();
    $("p.field:last").clone().insertAfter("p.field:last");
  });
});
<form method="post">
  <p class="field">
    <input type="text" name="firstname[]" value="" /> 
    <input type="text" name="lastname[]" value="" />
  </p>
  <p>
    <input type="submit" name="submit" value="Add" /> 
    <input type="submit" name="submit" value="Done" />
  </p>
</form>
Run Code Online (Sandbox Code Playgroud)
我不鼓励你按原样使用它
<?php
  $count = 1;
  if ($_POST["submit"] == "Add") {
    $count = ($_POST["firstname"]) ? (count($_POST["firstname"]) + 1) : 1;
  } else 
  if ($_POST["submit"] == "Done") {
    print "<pre>";
    print_r($_POST["firstname"]);
    print_r($_POST["lastname"]);
    print "</pre>";
  }
?>
<form method="post">
  <?php for($i = 0; $i < $count; $i++) { ?>
  <p class="field">
    <input type="text" name="firstname[]" value="<?php print $_POST["firstname"][$i]; ?>" /> 
    <input type="text" name="lastname[]" value="<?php print $_POST["lastname"][$i]; ?>" />
  </p>
  <?php } ?>
  <p>
    <input type="submit" name="submit" value="Add" /> 
    <input type="submit" name="submit" value="Done" />
  </p>
</form>
Run Code Online (Sandbox Code Playgroud)