Moh*_*man 69 html javascript forms webforms
我想动态地在我的Web表单中创建一个输入类型的文本.更具体地说,我有一个文本字段,用户输入所需文本字段的数量; 我希望以相同的形式动态生成文本字段.
我怎么做?
Zac*_*ach 142
使用JavaScript:
var input = document.createElement("input");
input.type = "text";
input.className = "css-class-name"; // set the CSS class
container.appendChild(input); // put it into the DOM
Run Code Online (Sandbox Code Playgroud)
Ale*_*lig 20
使用Javascript,您只需要document.createElement
和setAttribute
.
var input = document.createElement("input");
input.setAttribute('type', 'text');
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用appendChild
将创建的元素附加到所需的父元素.
var parent = document.getElementById("parentDiv");
parent.appendChild(input);
Run Code Online (Sandbox Code Playgroud)
从用户那里获取文本字段的数量并将其分配给一个变量。
var no = document.getElementById("idname").value
要创建输入字段,请使用createElement
方法并指定元素名称,即“输入”作为参数,如下所示并将其分配给变量。
var textfield = document.createElement("input");
然后为变量分配必要的属性。
textfield.type = "text";
textfield.value = "";
最后使用appendChild
方法将变量附加到表单元素。这样输入元素将在表单元素本身中创建。
document.getElementById('form').appendChild(textfield);
循环 2,3 和 4 步骤以创建用户在表单元素内指定的所需数量的输入元素。
for(var i=0;i<no;i++) {
var textfield = document.createElement("input");
textfield.type = "text"; textfield.value = "";
document.getElementById('form').appendChild(textfield);
}
Run Code Online (Sandbox Code Playgroud)
这是完整的代码
for(var i=0;i<no;i++) {
var textfield = document.createElement("input");
textfield.type = "text"; textfield.value = "";
document.getElementById('form').appendChild(textfield);
}
Run Code Online (Sandbox Code Playgroud)
function fun() {
/*Getting the number of text fields*/
var no = document.getElementById("idname").value;
/*Generating text fields dynamically in the same form itself*/
for(var i=0;i<no;i++) {
var textfield = document.createElement("input");
textfield.type = "text";
textfield.value = "";
document.getElementById('form').appendChild(textfield);
}
}
Run Code Online (Sandbox Code Playgroud)