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

执行JavaScript函数后SharePoint自动刷新,样式修改未保存求助

SharePoint按钮点击后页面刷新导致背景色修改丢失的解决方案

嘿,这问题我之前在SharePoint里踩过一模一样的坑!核心原因是你用的<button>在SharePoint的页面环境下会触发默认的表单提交行为,导致页面直接刷新,你刚修改的背景色自然就被重置回初始状态了,不管IE还是Chrome都会遇到这个情况。

先看你当前代码的问题:changeCo函数的颜色切换逻辑是没问题的,但按钮本身没有阻止默认的提交动作,SharePoint页面里的表单会把这个按钮当成提交按钮来处理,一点击就触发刷新了。

给你几个可行的解决方案:

方案1:给按钮添加type="button"属性

这是最简单直接的方法,因为HTML里<button>的默认类型是submit,加上type="button"后,它就只会执行你的点击事件,不会触发表单提交:

<button type="button" onclick="changeCo()">Change Color</button>

方案2:阻止点击事件的默认行为

你可以在点击事件里明确阻止默认动作,两种实现方式:

方式A:在函数里调用event.preventDefault()

修改你的JavaScript函数和按钮代码:

function changeCo(event){
  // 先阻止默认的提交行为
  event.preventDefault();
  
  var elem = document.getElementById("contentBox");
  var theCSSprop = window.getComputedStyle(elem,null).getPropertyValue("background-color");
  if (theCSSprop == 'rgb(0, 0, 0)') {
    document.getElementById('contentBox').style.backgroundColor = 'white';
  }else{
    document.getElementById('contentBox').style.backgroundColor = 'black';
  }
}

按钮部分:

<button onclick="changeCo(event)">Change Color</button>

方式B:在onclick里直接返回false

这种方式更简洁,不需要修改函数逻辑:

<button onclick="changeCo(); return false;">Change Color</button>

进阶:让颜色修改持久化(刷新页面也保留)

如果希望用户设置的颜色在页面刷新后也能保留,可以用localStorage存储状态:

<button type="button" onclick="changeCo()">Change Color</button>
<style>
#contentBox { background-Color:black; }
</style>
<script>
function changeCo(){
  var elem = document.getElementById("contentBox");
  var currentColor = window.getComputedStyle(elem,null).getPropertyValue("background-color");
  
  var newColor = currentColor === 'rgb(0, 0, 0)' ? 'white' : 'black';
  elem.style.backgroundColor = newColor;
  // 把颜色保存到本地存储
  localStorage.setItem('contentBoxBg', newColor);
}

// 页面加载时恢复保存的颜色
window.addEventListener('load', function(){
  var savedColor = localStorage.getItem('contentBoxBg');
  if(savedColor){
    document.getElementById('contentBox').style.backgroundColor = savedColor;
  }
});
</script>

这样用户下次打开页面,之前设置的颜色会自动恢复。

内容的提问来源于stack exchange,提问作者AndyWa

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:40:55