簡體   English   中英

從動態創建的表單中檢索PHP中的數據

[英]Retrieve data in PHP from a dynamically created form

我正在使用Javascript動態創建表單中的輸入字段。 就像,如果用戶輸入3,我的腳本應創建3個輸入字段,其名稱屬性分別為Member 1,Member 2和Member3。如何使用DOM為此類元素設置name屬性? 以及如何使用post方法從PHP中的這些字段訪問數據?

這是我的示例代碼。

<?php session_start(); ?>

<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
   function addFields(){
        var number = document.getElementById("member").value;
        var container = document.getElementById("container");
        while (container.hasChildNodes()) {
            container.removeChild(container.lastChild);
        }
        for (i=0;i<number;i++){
            container.appendChild(document.createTextNode("Member " + (i+1)));
            var input = document.createElement("input");
            input.type = "text";
            input.name = "Member"+i;
            container.appendChild(input);
            container.appendChild(document.createElement("br"));
       }
    }   
</script>
</head>

<body>




<form action="create.php" method="post">
    <h2>Create Document :</h2>


    Document Description :<input type="text" name="document_description" >
    Number of members: (max. 10)<input type="text" id="member" name="number_of_receipents" value=""><br />
    <a href="#" id="filldetails" onclick="addFields()">Fill Details</a>
    <input type="button" value="Fill Details" name="filldetails" onclick="addFields()">
    <input type="submit" name="Submit" button="submit">
    <div id="container"/>


</form>

</body>
</html>

與其命名為Memberx而不是將它們命名為Member[]

然后$_POST['Member']將返回所有已提交值的數組

array (size=1)
  'Member' => 
    array (size=3)
      0 => string 'Value1' (length=6)
      1 => string 'Value 2' (length=7)
      2 => string 'Value3' (length=6)

示例中的代碼使用:

<?php
var_dump($_POST);
?>

<form method="POST">
<input type="text" name="Member[]" />
<input type="text" name="Member[]" />
<input type="text" name="Member[]" />
<button type="submit">GO</button>
</form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM