ASP中如何在同一按钮上同时更改光标并跳转至控制器动作?
解决方法
你提到的document.body.style.cursor = 'wait';确实是更改光标为等待状态的正确方式,但需要和表单提交流程结合起来——默认的submit按钮会直接触发页面跳转,JS代码可能来不及执行或仅瞬间显示,所以得通过JS拦截表单提交事件,先设置光标再提交表单。
具体实现步骤:
- 给表单添加唯一ID,方便JS定位:
<form id="create-form" action="/你的控制器路径" method="post"> <!-- 其他表单字段 --> <div class="form-group"> <input type="submit" value="Create" class="btn btn-primary" /> </div> </form>
- 绑定表单的
submit事件,先设置等待光标再允许表单提交:
// 获取表单元素 const createForm = document.getElementById('create-form'); // 绑定提交事件 createForm.addEventListener('submit', function() { // 设置页面光标为等待样式 document.body.style.cursor = 'wait'; // 不需要阻止默认提交行为,表单会正常提交到后端 });
补充说明
- 这种方式能确保在表单提交前立即切换光标,用户会看到沙漏样式直到新页面加载完成(页面跳转后光标会自动恢复默认)。
- 如果后续改用AJAX异步提交(不跳转页面),还需要在请求完成(成功/失败)后把光标改回默认:
document.body.style.cursor = 'default';
内容的提问来源于stack exchange,提问作者Jules Valignat
相关产品推荐
相关产品推荐

