Javascript 背景色不';不要永远改变
我试图在单击按钮时更改背景色。但是,当点击按钮时,它会改变一秒钟的颜色,并返回到页面开头设置的原始颜色 如何永久设置颜色 Javascript:Javascript 背景色不';不要永远改变,javascript,html,css,Javascript,Html,Css,我试图在单击按钮时更改背景色。但是,当点击按钮时,它会改变一秒钟的颜色,并返回到页面开头设置的原始颜色 如何永久设置颜色 Javascript: 功能设置背景(彩色) { document.body.style.backgroundColor=颜色; } HTML: 更改DOM会更改当前页面 单击提交按钮将提交其所在的表单 提交表单将从服务器加载一个新(尽管可能相同)页面(不会保留本地DOM更改) 因此,您正在更改当前页面,然后立即将其丢弃并加载一个干净的页面 根据您的具体目标,您可以:
功能设置背景(彩色)
{
document.body.style.backgroundColor=颜色;
}
HTML:
更改DOM会更改当前页面 单击提交按钮将提交其所在的表单 提交表单将从服务器加载一个新(尽管可能相同)页面(不会保留本地DOM更改) 因此,您正在更改当前页面,然后立即将其丢弃并加载一个干净的页面
根据您的具体目标,您可以:
- 防止使用JavaScript提交表单(如果使用
属性,通常的方法是onclick
,但现在我们更喜欢返回false
而不是addEventListener
属性)。如果您打算无条件地这样做,您可能会问,首先为什么要使用提交按钮(而不是常规按钮)(尽管这很酷)onclick
- 使用submit按钮的名称/值使服务器生成不同的HTML文档(使用您想要的颜色),而不是使用JS
- 在本地存储有关颜色变化的数据(例如,在cookie或localStorage中),并在加载文档时让JS读取这些数据,然后重复更改
在评论中: 是的。我需要提交一份表格,然后更改背景颜色 那么第一个选项将无法使用(除非您还将Ajax问题复杂化)
使用服务器端代码进行更改将是干扰最小的方法。您使用的是提交按钮,这将导致页面被提交回服务器,然后重新加载。使用并删除“type”。@Geoffrey-
元素的默认type
是提交,那没用,我的错。。设置按钮type=“button”-它仍然可以单击,只是不提交。您正在尝试提交表单吗?然后改变背景颜色?