簡體   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