0

我有一个显示属性列表的页面(即房屋)。此列表是使用 CSS 组成的。所以我构建了第二个 CSS 类,它使属性/房屋在 2 列中正确对齐。到目前为止,我通过按下按钮、回发并输出不同的 html(基本相同,但使用其他 Css 类引用)来做到这一点。

现在我在 SO 上找到了这个问题,并实现了一个基本场景。一个带有“黄色”类的 div 被写入 html 页面,一个按钮将这个类更改为“红色”。发生这种情况,但 div 立即变回“黄色”类。

我是 JS 的初学者,但不是初级程序员。这将是对我的网站的一个很好的补充,但我找不到正确的答案。如果这个问题是多余的,我深表歉意。

<script type="text/javascript">
    function changeView() {
        document.getElementById("box").className = " red";
    }

格兹,在此先感谢,克里斯托夫,

4

2 回答 2

3

默认情况下,按钮元素的类型为“提交” - 这将导致您的浏览器回发到服务器。

尝试将类型更改为按钮。

<input type="button" ....

有关此处差异的更多信息... <input type='button' /> 和 <input type='submit' /> 之间的区别

于 2012-04-11T13:41:09.753 回答
1

如果您的按钮导致回发(可能是带有asp:标签的服务器控件),则您所做的 javascript 更改将丢失,因为默认情况下,asp 按钮会向服务器提交页面,因此您的页面会重新加载。

如果您只需要更改 a 的类,请div使其成为一个简单的 html 按钮,例如

<input type="button" onclick="changeView()" value="Change" />
于 2012-04-11T13:42:40.007 回答