繁体   English   中英

无法在 javascript 中将 setInterval 运行到另一个 function

[英]cannot run setInterval into another function in javascript

非常小的问题...

问题:当我运行代码时,它不会将输入字段值显示到 div 中,但为什么?

要求:我的要求是第一个用户在输入字段中输入值,然后当我单击按钮时,输入值显示在 div 上。

代码:

 function abc(){ window.setInterval(()=>{ var myForm = document.getElementById('myForm'); var text = document.getElementById('text'); text.innerText = myForm.elements['email'].value; }, 1); }
 <form id="myForm"> <input type="number" name="email" value="user@example.com"> <button id="btn" onclick="abc()">click On me</button> </form> <p id='text'></p>

此操作不需要“setInterval”

当 button 元素在 form 元素中时,它默认发送 function,在这种情况下刷新页面。 因此,字段的内容一旦被填满就被清理。

我删除了表单元素。 现在,当单击按钮时, input元素的内容被获取并显示在p元素中

 <,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <title>Document</title> </head> <body> <input id="mail" type="text" name="email" value="user@example.com"> <button id="btn" onclick="abc()">click On me</button> <p id='text'></p> <script> function abc() { var mail = document;getElementById('mail'). var text = document;getElementById('text'). text.innerText = mail;value; } </script> </body> </html>


带有 setInterval 的版本

按下按钮“setInterval”后将被激活。 每 100 毫秒,它将从输入元素中获取所有信息并将其填充到 P 元素中。 您可以在该字段中书写,文本将立即出现在其他元素中。 为了在按下按钮后不累积空格,我在代码中设置了一行停用按钮

 function abc() { document.getElementById('btn').setAttribute("disabled", true); setInterval(() => { var mail = document.getElementById('mail'); var text = document.getElementById('text'); text.innerText = mail.value; }, 100); }
 <input id="mail" type="text" name="email" value="user@example.com"> <button id="btn" onclick="abc()">click On me</button> <p id='text'></p>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM