簡體   English   中英

我嘗試在 html 中創建一個 On 和 Off 按鈕,但是當我將標簽輸入放入表單時不起作用,它保持打開狀態並不會切換到打開狀態

[英]I try to make a On and Off button in html and but when I put the tag input inside the Form doesn't work it stay on off doesn't switch to On

我嘗試在 html 中創建一個 On 和 Off 按鈕,但是當我將標簽輸入放入表單時不起作用,它保持打開狀態並不會切換到打開狀態

 function onoff() { currentvalue = document.getElementById('onoff').value; if (currentvalue === "Off") { document.getElementById("onoff").value = "On"; } else { document.getElementById("onoff").value = "Off"; } }
 <form action="" method="post"> <input type="button" value="Off" id="onoff" onclick="onoff();" class="button button2"> </form>

您可以重命名您的函數名稱以不匹配單擊目標的id ,您的代碼將起作用:

 function onoffHandler() { currentvalue = document.getElementById('onoff').value; if (currentvalue === "Off") { document.getElementById("onoff").value = "On"; } else { document.getElementById("onoff").value = "Off"; } }
 <form action="" method="post"> <input type="button" value="Off" id="onoff" onclick="onoffHandler();" class="button button2"> </form>

這是因為遺留作用域被注入作用域鏈。 但僅適用於內聯處理程序 這允許通過相同的變量名稱處理所有具有idname屬性的表單元素。 並且由於這些idname變量在更高(更近)的范圍內,因此它們隱藏了所有其他具有相同名稱的函數或變量。

如果您需要更徹底的解釋到底發生了什么,您可以查看這個 [answer] ( https://stackoverflow.com/a/9160009/3388225 )。

試試這個:

 <form action="" method="post"> <input type="button" value="Off" id="onoff" onclick="document.getElementById('onoff').value==='Off'?document.getElementById('onoff').value='On':document.getElementById('onoff').value='Off';" class="button button2"> </form>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM