Javascript &引用;加上“更多”;在浏览器中重置输入字段的按钮
我需要JavaScript在每次单击“添加更多”按钮时创建一个新的HTML输入字段。为此,我编写了以下代码:Javascript &引用;加上“更多”;在浏览器中重置输入字段的按钮,javascript,html,Javascript,Html,我需要JavaScript在每次单击“添加更多”按钮时创建一个新的HTML输入字段。为此,我编写了以下代码: function addTime(){ `let scheduler = document.getElementById("schedule").innerHTML;` `document.getElementById("moreTime").innerHTML = scheduler;` } (“schedule”)ID是保存我需要的输入
function addTime(){
`let scheduler = document.getElementById("schedule").innerHTML;`
`document.getElementById("moreTime").innerHTML = scheduler;`
}
(“schedule”)
ID是保存我需要的输入字段的div
,我在“add more”按钮中添加了一个“onclick”
,该按钮在单击按钮时调用addTime函数,它可以工作
问题是,每次在web浏览器中单击按钮时,它都会创建新的输入字段,但它会重置以前通过单击按钮创建的输入字段中的值,而浏览器中显示的原始HTML输入元素则保持不变。我已尝试将按钮从
标记更改为
标记。我尝试在函数中以及调用函数时使用事件侦听器。按钮在所有这些条件下仍然可以工作,但它仍然会重置值,因此,我假设它与函数中的代码有关,而不是HTML代码
为什么要这样做?我如何让JavaScript在单击按钮时创建新的输入字段,并在再次单击按钮时存储以前创建的输入字段的值
非常感谢您的帮助
哦!!我可能应该补充一点,输入字段是一个HTML“时间”,看起来像00:00am/pm。web浏览器中该字段的默认值为--:--带有一个小时钟以添加所需的时间和一天中的时间
编辑:以下是输入字段的HTML代码--
发件人:
收件人:
试着这样做:
let schedule=document.getElementById(“schedule”);
设html=schedule.innerHTML;
函数addTime(){
var div=document.createElement(“div”);
div.innerHTML=html;
附表.appendChild(第firstElementChild部分);
}
发件人:
发送至:
您拥有.innerHTML=调度程序代码>,但如果您想要添加按钮,而不是替换以前存在的所有按钮,您不想要类似于.innerHTML+=scheduler的东西吗代码>?你好!正如我所说的,我是新来的。。。真的很新!所以,我不知道你可以+=一个.innerHTML。然而,我确实读到一些文章说,使用它可能会带来安全风险。这种情况适用吗?你知道吗?非常感谢你的帮助!另外,我将尝试+=并看看会发生什么!它不会解决这个问题,但是添加到现有的HTML而不是完全替换HTML听起来像是目标的开始。是的,对不可信的输入使用innerHTML
是不安全的。请阅读与问题无关的第一段。请不要将其回滚以重新添加。谢谢
<div id = "schedule">
<p>From: </p> <input id = "start" type = "time" value = "" >
<p id = "to"> To: </p><input id = "end" type = "time" value = "">
<!--- give the user the option to add more than one schedule item-->
<div id = "moreTime"> </div>
</div>
<input type = "button" onclick = "addTime()" value = "add schedule"/>