2012-04-11 57 views
0

我有一个显示属性列表(即房屋)的页面。这个清单是用CSS编写的。所以我创建了第二个CSS类,它使属性/房屋在2列中正确对齐。到现在为止,我通过按下一个按钮,回发并输出不同的html(基本相同,但是与其他Css类引用)来完成此操作。使用JavaScript立即撤销对HTML输出(ASP.Net)所做的更改立即撤消

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

我是一个非常非常初学者的JS,但不是一个开始的程序员。这对我的网站来说是一个很好的补充,但我找不到合适的答案。如果这个问题是多余的,我很抱歉。

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

Grtz,在此先感谢,克里斯托夫,

+3

你确定按钮不会也导致回发? – 2012-04-11 13:38:07

+0

Omg,那实际上就是它!我有一个基本页面,其中没有其他内容用于测试目的,并且我没有意识到这实际上是一个回发。我现在修好了。谢谢回复! :) – 2012-04-11 13:42:39

回答

3

默认按钮元素的类型为“提交” - 这将导致你的浏览器发送回服务器。

尝试将类型更改为按钮。在这里的区别

<input type="button" .... 

更多信息... Difference between <input type='button' /> and <input type='submit' />

+0

博奇的答案是正确的,但你的是一个更完整的,所以我会将其标记为答案。对不起,再次不需要的问题。 – 2012-04-11 13:58:58

1

如果您的按钮导致回发(可能与asp:标签服务器控件),你做的JavaScript更改将丢失作为默认的asp按钮会将页面提交到服务器,因此您的页面会重新加载。

如果你需要更改类div的使它成为一个简单的HTML按钮像

<input type="button" onclick="changeView()" value="Change" />