使用onclick按钮在Javascript中添加输入字段
我一直习惯于使用jquery或其他javascript框架,但现在我没有框架可供使用,所以我想看看是否有人知道我如何在可能的情况下使用纯javascript实现这一点 基本上我有一个这样的部门使用onclick按钮在Javascript中添加输入字段,javascript,html,onclick,Javascript,Html,Onclick,我一直习惯于使用jquery或其他javascript框架,但现在我没有框架可供使用,所以我想看看是否有人知道我如何在可能的情况下使用纯javascript实现这一点 基本上我有一个这样的部门 <input type="button" id="more_fields" onclick="add_fields();" value="Add More" /> <div id="room_fileds"> <div class='label'>Room 1
<input type="button" id="more_fields" onclick="add_fields();" value="Add More" />
<div id="room_fileds">
<div class='label'>Room 1:</div>
<div class="content">
<span>Width: <input type="text" style="width:48px;" name="width[]" value="" /><small>(ft)</small> X </span>
<span>Length: <input type="text" style="width:48px;" namae="length[]" value="" /><small>(ft)</small</span>
</div>
</div>
第1房间:
宽度:(英尺)X
长度:(ft)您可以使用innerHTML
属性添加内容。在span
元素周围的div
中添加一个id=“wrapper”
,然后可以执行以下操作
var dummy = '<span>Label: <input type="text"><small>(ft)</small></span>\r\n';
document.getElementById('wrapper').innerHTML += dummy;
var dummy='Label:(ft)\r\n';
document.getElementById('wrapper').innerHTML+=dummy;
当然,您不需要id
,也可以使用其他DOM方法来访问div
,但我发现使用id
更容易、更干净。这里有一个简单的例子
还要注意,您不应该内联css代码,也不应该将javascript调用直接附加到DOM元素中。分离DOM、Javascript和CSS将使您的生活更轻松。只需像这样使用innerHTML
:
顺便说一句,我将divclass=“content”
更改为id=“content”
如果您愿意,可以添加新的id
function add_fields() {
var d = document.getElementById("content");
d.innerHTML += "<br /><span>Width: <input type='text'style='width:48px;'value='' /><small>(ft)</small></span> X <span>Length: <input type='text' style='width:48px' value='' /><small>(ft)</small</span>";
}
函数添加_字段(){
var d=document.getElementById(“内容”);
d、 innerHTML+=“
宽度:(ft)X长度:(ft)不需要创建新房间
var room = 1;
function add_fields() {
room++;
var objTo = document.getElementById('room_fileds')
var divtest = document.createElement("div");
divtest.innerHTML = '<div class="label">Room ' + room +':</div><div class="content"><span>Width: <input type="text" style="width:48px;" name="width[]" value="" /><small>(ft)</small> X</span><span>Length: <input type="text" style="width:48px;" namae="length[]" value="" /><small>(ft)</small></span></div>';
objTo.appendChild(divtest)
}
var房间=1;
函数add_fields(){
房间++;
var objTo=document.getElementById('room\u fileds')
var divtest=document.createElement(“div”);
divtest.innerHTML='Room'+Room+':宽度:(ft)XLength:(ft)';
对象追加子对象(divtest)
}
演示:只需使用包装div的innerHTML
属性,即document.getElementById('someIdYouAssignToTheDiv')).innerHTML+='';
您的答案没有提供任何实际代码,只是链接到外部提供商。此外,我看不出您的答案如何在已经给出的答案中添加任何实质性内容。感谢您的评论,您是对的。我已编辑了我的答案。这很好,但我有一个问题。当我单击按钮时,它只添加了f字段ine但似乎清除了已填写的字段。这是什么原因造成的。Iv从未见过这种情况发生。您可以使用createElement
和appendChild
来避免这种情况。小提琴: