HTML实现点击清除按钮同时清空两个文本框的问题
解决点击按钮同时清空两个文本框的问题
嗨,我来帮你搞定这个小问题~你现在的Clear Text按钮只能清空一个文本框,核心原因是按钮的点击事件里只写了清空id为'a'的输入框,没处理id为'b'的那个。下面给你两种简单的修改方案:
方案一:直接在按钮事件里同时清空两个
这种方式最直接,不用改你的script部分,只需要修改按钮的onclick属性,同时添加清空'b'的语句就行:
<button onclick="document.getElementById('a').value = ''; document.getElementById('b').value = ''">Clear Text</button>
点击按钮时,会依次执行两条赋值语句,把两个文本框的内容都设为空字符串,这样就同时清空啦。
方案二:调用优化后的清空函数
你已经写了clear函数,但里面有多余的代码,而且clear是浏览器的内置函数名,容易冲突,建议改名优化。先修改你的script部分:
<script> function swapValues() { var tmp = document.getElementById("a").value; document.getElementById("a").value = document.getElementById("b").value; document.getElementById("b").value = tmp; } // 改名并简化清空函数 function clearInputs() { // 直接清空两个文本框 document.getElementById('a').value = ''; document.getElementById('b').value = ''; // 如果确实需要清空id为myInput的输入框,就保留下面这句,否则可以删掉 // document.getElementById('myInput').value = ''; } </script>
然后把HTML里的按钮改成调用这个函数:
<button onclick="clearInputs()">Clear Text</button>
这样做的好处是代码更整洁,如果之后需要扩展清空逻辑(比如再加更多输入框),直接修改clearInputs函数就行,不用改按钮的代码。
内容的提问来源于stack exchange,提问作者xxxalicexx




