You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击按钮移除hidden类后div仍不可见,页面空白求助

问题解决:点击按钮后页面空白且Planner界面不显示

核心问题及修复步骤:

  • 页面空白的根本原因:触发了表单默认提交行为
    你的按钮是<input type="submit">,即使没有包裹在<form>标签里,浏览器也会默认触发页面跳转/刷新,导致页面空白。必须在点击事件中阻止这个默认行为。

  • Planner不显示的额外问题:未定义变量报错
    JS代码中使用了weeklyT但没有提前声明,这会抛出ReferenceError,中断后续的planner.classList.remove('hidden')执行。

  • 潜在隐患:重复的ID属性
    HTML里多个按钮用了相同的id="themeSubmit",ID在页面中必须唯一,会导致后续DOM选择出现不可预期的问题,建议修改为不同ID或改用class选择。


修改后的代码示例

HTML(仅修正重复ID部分):

<input class="btn btn-primary btn-lg btn-lg-planno" id="themeSubmitMain" type="submit" value="Save" >
<!-- planner -->
<div id="plannerWin">
    <div class="planner hidden" id="plannerWindow">
        <p id="headerText2">
            <svg id="svgStyle" xmlns="http://www.w3.org/2000/svg" width="978" height="74" viewBox="0 0 978 74"><g transform="translate(-1613 -1760)"><line x2="862" transform="translate(1666.5 1819.5)" fill="none" stroke="#707070" stroke-width="1"/><circle cx="14.5" cy="14.5" r="14.5" transform="translate(1652 1805)" fill="#b5b5b5"/><circle cx="14.5" cy="14.5" r="14.5" transform="translate(1805 1805)" fill="#b5b5b5"/><circle cx="14.5" cy="14.5" r="14.5" transform="translate(1992 1805)" fill="#b5b5b5"/><circle cx="14.5" cy="14.5" r="14.5" transform="translate(2181 1805)" fill="#b5b5b5"/><g transform="translate(2339 1805)" fill="#efeded" stroke="#707070" stroke-width="1"><circle cx="14.5" cy="14.5" r="14.5" stroke="none"/><circle cx="14.5" cy="14.5" r="14" fill="none"/></g><circle cx="14.5" cy="14.5" r="14.5" transform="translate(2514 1805)" fill="#b5b5b5"/><g transform="translate(1626 1838)"><text transform="translate(40 -64)" fill="#b5b5b5" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-52.018" y="0">Monthly</tspan><tspan x="-37.308" y="19">Tasks</tspan></text></g><g transform="translate(1779 1838)"><text transform="translate(40 -64)" fill="#b5b5b5" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-38.572" y="0">THEME</tspan></text></g><g transform="translate(1964 1838)"><text transform="translate(40 -64)" fill="#b5b5b5" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-84.313" y="0">TEMPERATURE</tspan><tspan x="-52.454" y="19">RECORDS</tspan></text></g><g transform="translate(2155 1838)"><text transform="translate(40 -64)" fill="#b5b5b5" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-45.121" y="0">WEEKLY</tspan><tspan x="-36.957" y="19">TASKS</tspan></text></g><g transform="translate(2313 1838)"><text transform="translate(40 -64)" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-51.45" y="0">PLANNER</tspan></text></g><g transform="translate(2488 1838)"><text transform="translate(40 -64)" fill="#b5b5b5" font-size="15" font-family="Suissnord" letter-spacing="0.05em"><tspan x="-62.471" y="0">HANDOVER</tspan><tspan x="-37.938" y="19">NOTES</tspan></text></g></g></svg>
        </p>
        <p class="headerText">Planner</p>
        <textarea rows="5" style="width: 100%"></textarea>
        <input class="btn btn-primary btn-lg btn-lg-handover" id="themeSubmitPlanner" type="submit" value="Save">
        <input class="btn btn-primary btn-lg ml-3" id="themeSubmitSkip" type="submit" value="Skip">
        <img src="svg/back.svg" id="back">
    </div>
</div>

JavaScript(修复提交行为和变量问题):

const planner = document.querySelector('.planner');
const btnPlanner = document.querySelector('.btn-lg-planno');
// 补充定义weeklyT变量,根据实际页面结构修改选择器
const weeklyT = document.querySelector('.weeklyT'); 

// Planner Activate
btnPlanner.addEventListener('click', function (event) {
    // 阻止默认提交行为,避免页面刷新
    event.preventDefault();
    // 增加判断避免变量未找到时报错
    if (weeklyT) {
        weeklyT.classList.add('hidden'); 
    }
    planner.classList.remove('hidden');        
});

内容的提问来源于stack exchange,提问作者w. dee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.06 20:44:54