Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Спойлер на js и запросы с формы (https://javascript.ru/forum/misc/45209-spojjler-na-js-i-zaprosy-s-formy.html)

wizion 18.02.2014 23:04

Спойлер на js и запросы с формы
 
Здравствуйте, сколько не гуглил вопроса так и не нашел, по этому осмелюсь спросить у знающих людей.

В общем есть у меня простенький спойлер

<script>
    $(function () {
        $("#cat li").click(function () {
            if ($(this).children(".list-item").children("span").hasClass("arr-show")) {
                $(this).children(".list-item").children("span").removeClass("arr-show");
                
            }
            else {
                $(".list-item span").removeClass("arr-show");
                $(this).children(".list-item").children("span").addClass("arr-show");
                
            }
            $(this).next(".tab-block").slideToggle("slow").siblings(".tab-block:visible").slideUp("slow");
        });
    });


<li><a class="list-item">заголовок<span class="arr-hide">&nbsp;</span></a></li>
                <div class="tab-block" style="display:none;">какой-то текст </div>


Все отлично работает, и все нормально сворачивает, только вот, есть допустим в нем форма изменения пароля, и когда я нажимаю в форме кнопочку "Сохранить", он сразу же сворачивается, нужно чтобы не сворачивался, но как это реализовать, я даже без понятия в какую сторону копать, прошу помощи

wizion 18.02.2014 23:40

Цитата:

Сообщение от wizion (Сообщение 298307)
Все отлично работает, и все нормально сворачивает, только вот, есть допустим в нем форма изменения пароля, и когда я нажимаю в форме кнопочку "Сохранить", он сразу же сворачивается

Прощу прощения, т.к. кнопка имеет следующий код
<a id="ctl00_cphUserContentInner_btnSavePass" href="javascript:__doPostBack(shifrovanuy _cod)"><div class='btn btn-primary' style='margin-bottom: 10px;'>Сохранить</div></a>


Думаю это может что-то поменять, но все же как сделать, чтобы сполер при нажатии этой кнопки не сворачивался

рони 19.02.2014 00:04

wizion,
отмените всплытие события.

wizion 19.02.2014 00:31

Цитата:

Сообщение от рони (Сообщение 298313)
отмените всплытие события.

Вы бы не могли подсказать как его отменить, чтобы сохранение данных срабатывало и не срабатывал лишь один спойлер, но если пользователь передумает изменять пароль, после первой пробы, мог переключиться между другими спойлерами на этой же странице

рони 19.02.2014 01:16

wizion,
макет рисуйте того что у вас неработает
на подобиии этого
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
    $( function() {
        $("#cat li").click(function () {
            if ($(this).children(".list-item").children("span").hasClass("arr-show")) {
                $(this).children(".list-item").children("span").removeClass("arr-show");

            }
            else {
                $(".list-item span").removeClass("arr-show");
                $(this).children(".list-item").children("span").addClass("arr-show");

            }
            $(this).next(".tab-block").slideToggle("slow").siblings(".tab-block:visible").slideUp("slow");
        });
    });
  </script>
</head>

<body>
<ul id="cat">
<li><a class="list-item">заголовок<span class="arr-hide">&nbsp;</span></a></li>
    <div class="tab-block" style="display:none;"><a id="ctl00_cphUserContentInner_btnSavePass" href="javascript:__doPostBack(shifrovanuy _cod)"><div class='btn btn-primary' style='margin-bottom: 10px;'>Сохранить</div></a>какой-то текст </div>

</ul>
</body>

</html>

чтоб не гадать о вашей структуре

рони 19.02.2014 01:39

:write: рыбки уснули в пруду ... выкидываем всё лишнее из href, строки 28 и 30 два варианта отмены выполнения события ... :cray:
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <script src="http://code.jquery.com/jquery-latest.js"></script>
  <script>
  $(function () {
       var shifrovanuy_cod = 123 ;

           function __doPostBack(a) {
               alert(a);

           }

       $("#cat li").click(function () {
           if ($(this).children(".list-item").children("span").hasClass("arr-show")) {
               $(this).children(".list-item").children("span").removeClass("arr-show");

           } else {
               $(".list-item span").removeClass("arr-show");
               $(this).children(".list-item").children("span").addClass("arr-show");

           }
           $(this).next(".tab-block").slideToggle("slow").siblings(".tab-block:visible").slideUp("slow");
       });
       $("#ctl00_cphUserContentInner_btnSavePass").click(function (event) {
           event.preventDefault()
           __doPostBack(shifrovanuy_cod)
           //return false
       })
   });
  </script>
</head>

<body>
<ul id="cat">
<li><a class="list-item">заголовок<span class="arr-hide">&nbsp;</span></a></li>
    <div class="tab-block" style="display:none;"><a id="ctl00_cphUserContentInner_btnSavePass" href="" ><div class='btn btn-primary' style='margin-bottom: 10px;'>Сохранить</div></a>какой-то текст </div>

</ul>
</body>

</html>

wizion 20.02.2014 01:25

Цитата:

Сообщение от рони (Сообщение 298318)
:write: рыбки уснули в пруду ... выкидываем всё лишнее из href, строки 28 и 30 два варианта отмены выполнения события ... :cray:

Очень большое спасибо, помогло! Работает:)


Часовой пояс GMT +3, время: 08:25.