javascript - Console.log() 和 el.innerText 立即重置(帮助)
问题描述
我在 html 文件中有这个简单的模板。每次我单击按钮时,它都应该记录单击事件并在#result 元素中打印“[NodeList]”,但事实并非如此。事实上,它会打印几毫秒,然后再次将其删除。与 console.log(e) 相同。我已经记录了这种行为:链接到视频:https ://drive.google.com/file/d/1B7TycQxZPi0dqx7Try6kUZM3pcJs0ILW/view
有人可以建议修复吗?
document.getElementById("btn").addEventListener("click", e => {
console.log(e);
result.innerText = document.getElementsByName("day");
});
<h1>Your Day Plan:</h1>
<p>Enter your day</p>
<form>
<input type="radio" id="mon" name="day" value="mon" />
<label for="mon">mon</label><br />
<input type="radio" id="tue" name="day" value="tue" />
<label for="tue">tue</label><br />
<input type="radio" id="wed" name="day" value="wed" />
<label for="wed">wed</label><br />
<input type="radio" id="thu" name="day" value="thu" />
<label for="thu">thu</label><br />
<input type="radio" id="fri" name="day" value="fri" />
<label for="fri">fri</label><br />
<button id="btn">Calculate Plan</button>
</form>
<h5 id="result"></h5>
解决方案
按钮的默认类型是提交,为了防止表单提交,您必须type="button"
手动指定:
<button type="button" id="btn">Calculate Plan</button>
Event接口的方法
preventDefault()
告诉用户代理,如果事件没有得到显式处理,则不应像通常那样采取其默认操作。
<h1>Your Day Plan:</h1>
<p>Enter your day</p>
<form>
<input type="radio" id="mon" name="day" value="mon" />
<label for="mon">mon</label><br />
<input type="radio" id="tue" name="day" value="tue" />
<label for="tue">tue</label><br />
<input type="radio" id="wed" name="day" value="wed" />
<label for="wed">wed</label><br />
<input type="radio" id="thu" name="day" value="thu" />
<label for="thu">thu</label><br />
<input type="radio" id="fri" name="day" value="fri" />
<label for="fri">fri</label><br />
<button id="btn">Calculate Plan</button>
</form>
<h5 id="result"></h5>
<script>
document.getElementById("btn").addEventListener("click", e => {
console.log(e);
result.innerText = document.getElementsByName("day");
event.preventDefault();
});
</script>
推荐阅读
- django - Google Cloud App Engine - 使用 PostGreSQL 的 Django App 失去 SQL 连接
- paypal-sandbox - 交易搜索在 PayPalAPI 中返回 AUTHENTICATION_FAILURE
- rapidminer - 加入 Rapidminer 后无示例
- android - 如何在kotlin中制作二级构造函数
- wordpress - 自定义字段上的 WordPress date_query
- json - 不同 Json 结构的 Yew 回调
- java - 可以停止(返回)从超级方法继承的类的执行吗?
- python-3.x - 从 FastAPI 中的后台任务获取返回状态
- json - 什么可以使这段代码实现我在颤动中可视化这个饼图的目标?
- javascript - 在 Javascript 中,我希望代码只返回在 HTML 的不同行上具有相同 ID 的名称