2013-09-26 5 views
0

У меня есть javascript, по которому я динамически меняю класс класса css.Losing css class после обратной передачи

Мой список:

<div class="BreadCrumbDiv"> 
      <ul id="breadcrumbs-two"> 
       <li><a href="#" onclick="changeClass(a1);" class="current1" id="a1">Step1 
        and user</a></li> 
       <li><a href="#" onclick="changeClass('a1');" id="a2">Step2</a></li> 
       <li><a href="#" onclick="changeClass('a1');" id="a3">Step3</a></li> 
       <li><a href="#" onclick="changeClass('a1');" id="a4">Step4</a></li> 

      </ul> 
     </div> 

Java скрипт:

function changeClass(elementid) { 
     var lis = document.getElementById(elementid); 
     lis.className = "current"; 
     lis.className = "current1"; 
    } 

Теперь от моей кнопки я называю JavaScript, как этот

<asp:button id="btnNextODCDetails" runat="server" text="Next" cssclass="Button" onclientclick="changeClass('a2');"/> 

Но изменил стиль CSS не работает один раз сообщение назад происходит. Я не хочу использовать панель обновления. Пожалуйста, помогите мне.

Заранее спасибо Gulrej

+0

Может у вывесить CSS, а – Sasidharan

+0

Первое изменение OnClick = "changeClass (a1);" to onclick = "changeClass ('a1');" – Shadow

+0

Вы тоже обрабатываете серверную обработку? Если вы на своей странице, вы отправите назад и обновите – Pete

ответ

1

При обратной передаче данных, дерево управления будет создано снова от ASPX размечать. Таким образом, любые изменения, внесенные вами в элементы html на стороне клиента, будут потеряны.

+0

Правильно, но есть ли способ сохранить css. – Gulrej

0

Вы потеряете весь код своей клиентской стороны (JS), если страница будет полностью опубликована и отображена снова.

Если вам все еще нужно, то сохраняйте информацию как-то с помощью скрытого поля или что-то в этом роде, и проверяйте его при загрузке страницы и установите ее на стороне клиента.

Вы можете сделать это на стороне клиента, используя код

JQuery:

$(document).ready(function(){ // your checking}); 

JavaScript: DOMContentLoaded

<script> 
    document.addEventListener("DOMContentLoaded", function(event) { 
    console.log("DOM fully loaded and parsed"); 
    }); 
</script> 

IE:

object.addEventListener("DOMContentLoaded", handler, useCapture) //IE model 
+0

Привет, Мурли, не могли бы вы послать мне пример ссылки. на самом деле я не понял. – Gulrej

0

я получил ответ. Я немного изменил свой сценарий. И я позвонил сценарию при щелчке по событию с моей кнопкой.

string script = " $(document).ready(function() { $('#breadcrumbs-two li #a2').addClass('current'); $('#breadcrumbs-two li #a2').removeClass('current'); $('#breadcrumbs-two li #a2').addClass('current1'); });"; 
     ClientScript.RegisterClientScriptBlock(this.GetType(), "function", script, true); 

Gulrej

Смежные вопросы