2012-04-11 53 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" />