คุณสามารถใช้onclickตัวจัดการเหตุการณ์เพื่อรับค่าอินพุตสำหรับฟิลด์ข้อความ ตรวจสอบให้แน่ใจว่าคุณได้ให้idแอตทริบิวต์ที่ไม่ซ้ำกันในฟิลด์เพื่อให้คุณสามารถอ้างถึงได้อย่างปลอดภัยdocument.getElementById() :
หากคุณต้องการเพิ่มองค์ประกอบแบบไดนามิกคุณควรมีคอนเทนเนอร์ที่จะวางองค์ประกอบเหล่านั้น ตัวอย่างเช่นก<div id="container">. สร้างองค์ประกอบใหม่ด้วยวิธีการdocument.createElement()และใช้appendChild()เพื่อต่อท้ายแต่ละองค์ประกอบเข้ากับคอนเทนเนอร์ คุณอาจสนใจที่จะส่งออกnameแอตทริบิวต์ที่มีความหมาย(เช่นname="member"+iสำหรับแต่ละรายการที่สร้างขึ้นแบบไดนามิก<input>หากต้องการส่งในแบบ
สังเกตเห็นว่าคุณยังสามารถสร้างองค์ประกอบที่มี<br/> document.createElement('br')หากคุณต้องการแสดงข้อความเพียงบางส่วนคุณสามารถใช้document.createTextNode()แทนได้
นอกจากนี้หากคุณต้องการล้างคอนเทนเนอร์ทุกครั้งที่มีการเติมข้อมูลคุณสามารถใช้hasChildNodes()และremoveChild()ร่วมกันได้
<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>
    <input type="text" id="member" name="member" value="">Number of members: (max. 10)<br />
    <a href="#" id="filldetails" onclick="addFields()">Fill Details</a>
    <div id="container"/>
</body>
</html>
 
 
ดูตัวอย่างการทำงานในJSFiddleนี้
     
              
Uncaught TypeError: Cannot call method 'appendChild' of undefined