ФорумПрограммированиеPHP для идиотов → Эмуляция submit-а

Эмуляция submit-а

  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 9:42

    Здравствуйте!

    Возникла такая проблема. Вот генерируется (средой) для фильтра две кнопки: "Подобрать" и "Сбросить значения". Соответственно, сабмит и совершенно противоположная ей по функциональности кнопка. Обе кнопки я скрываю стайлом, для того, чтобы сверстать кнопки, соответствующие дизайну. И если с сабмитом вопрос разрешился банальным онклик=форма.сабмит, то c кнопкой "сбросить значения" возникли проблемы.
    Вот как выглядит оно на php:
    <input type="submit" style="display:none" name="del_filter" value="<?=GetMessage("IBLOCK_DEL_FILTER")?>" />
    <a href="#" name="del_filter" class="submit_del">Сбросить значения</a>


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

    $(document).ready(function()
    {
    <!– При выборе кнопки "Сбросить значения"–>
    $('.submit_del').live("click", function(e){
    e.preventDefault();
    $('[name=del_filter]').click();
    });
    });


    НО! Тут-то и возникла проблема. Оно выполняется, сбрасывает все checkbox-ы… вот только перед этим сначала замирает экран и некоторое время тормозит, причем, пару раз мозилла просила остановить сценарий, а в убунте окно браузера становилось на пару-тройку секунд серым. Подскажите пожалуйста, где я лажаю!
  • Faster

    Сообщения: 1159 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 9:47, спустя 5 минут 14 секунд

    а чё - onclick не работает?
  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 9:54, спустя 7 минут 11 секунд


    а чё - onclick не работает?

    В пхп? Так это же не сабмит. Одна форма, в ней два баттона: сабмит и сброс. Поэтому к настоящему сабмиту так и обращаемся через онклик, тогда как ко второму так нельзя обратится - будет равносильно, что жмем на "Подобрать".
    Или онклик в джаве вместо live?
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 марта 2012 г. 9:55, спустя 21 секунду

    а как же reset?
    Высокоуровневое абстрактное говно
  • Ivan

    Сообщения: 1316 Репутация: N Группа: Адекваты

    Spritz 29 марта 2012 г. 9:56, спустя 1 минуту 44 секунды

    Уже много лет метод live является deprecated, используй $(object).click(function() {}), а вообще, ради этого jquery подключать…
    Ну и [name=del_filter] - откуда уверенность в правильности этого селектора? Вроде пишут input [name=del_filter] или я просто ньюфаг в jquery
    Кстати в html есть по моему стандарт кнопки "сбросить значения" <input type="reset">
  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 10:02, спустя 5 минут 27 секунд


    а как же reset?

    Не получается, я так понимаю это за счет того, что в среде используются человеко-понятные-урл, к коим при нажатии на сабмит добавляются в адресную строку параметры для поиска. После нажатия на "Выполнить" у нас, к примеру, остается только один товар. И когда я присваиваю моей кнопке оклик=форма.ресет, то оно не обнуляет адресную строку, а этот товар и остается, а полный список товаров, который присутствует при начальном работе с фильтром не возвращается.
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 29 марта 2012 г. 10:02, спустя 9 секунд

    1. А зачем скрывать кнопки? Нельзя описать их стилями так, чтобы соответствовали дизайну?
    2. Не называй джаваскрипт джавой, а то ща кто-нибудь обматюкает. ))))
    3. При чем тут PHP?
  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 10:15, спустя 12 минут 43 секунды


    Уже много лет метод live является deprecated, используй $(object).click(function() {}), а вообще, ради этого jquery подключать…

    В смысле live лучше вообще стараться избегать и обходиться обычными click-ами, котрые почти идентичности по функциональности? Ok, учту.


    Ну и [name=del_filter] - откуда уверенность в правильности этого селектора? Вроде пишут input [name=del_filter] или я просто ньюфаг в jquery

    Уверенности совершенно нет, иду буквально на ощупь. А можно более подробно насчет input [name=del_filter]?


    Кстати в html есть по моему стандарт кнопки "сбросить значения" <input type="reset">

    Не ест у меня фильтр ресет.
  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 10:20, спустя 5 минут 3 секунды


    1. А зачем скрывать кнопки? Нельзя описать их стилями так, чтобы соответствовали дизайну?
    2. Не называй джаваскрипт джавой, а то ща кто-нибудь обматюкает. ))))
    3. При чем тут PHP?


    1. Реализовать градиент кнопки, да еще, чтобы во всех браузерах отражалась… я так не умею :) Мне проще навешать кучу всего в css на ссылку. Хотя бы похоже на псд-исходник)
    2. Больше не буду)))) Спасибо :)))
    3. Сто пудов, html.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 марта 2012 г. 10:56, спустя 36 минут 16 секунд

    я так и не понял, что вы там пытаетесь замутить))
    <input type="submit" /> и <input type="reset" /> и не ипите мозг))
    Высокоуровневое абстрактное говно
  • Sinkler

    Сообщения: 7958 Репутация: N Группа: в ухо

    Spritz 29 марта 2012 г. 11:09, спустя 13 минут 10 секунд

    опять этот пхп для слабаков
  • Jekyl

    Сообщения: 9 Репутация: N Группа: Кто попало

    Spritz 29 марта 2012 г. 11:54, спустя 44 минуты 17 секунд


    я так и не понял, что вы там пытаетесь замутить))
    <input type="submit" /> и <input type="reset" /> и не ипите мозг))

    Я пытаюсь не переписывать работающую кнопку, а использовать ее при нажатии на соответствующим образом сверстанную кнопку, тем самым эмулируя ее нажатие. Тем более, повторюсь, в таком исполнении ресет не работает.
    Тем более для дизайна сайта нужна не баттн, а ссылка.
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 марта 2012 г. 12:09, спустя 15 минут 33 секунды

    Тем более для дизайна сайта нужна не баттн, а ссылка.

    а не пох ли?)
    Высокоуровневое абстрактное говно
  • technobulka

    Сообщения: 4540 Репутация: N Группа: Джедаи

    Spritz 29 марта 2012 г. 12:29, спустя 20 минут 3 секунды

    а хуй с вами)) херню какую-то мутите))
    Высокоуровневое абстрактное говно
  • AlexB

    Сообщения: 4306 Репутация: N Группа: в ухо

    Spritz 29 марта 2012 г. 12:44, спустя 14 минут 43 секунды


    Я пытаюсь не переписывать работающую кнопку, а использовать ее при нажатии на соответствующим образом сверстанную кнопку, тем самым эмулируя ее нажатие. Тем более, повторюсь, в таком исполнении ресет не работает.
    Еще раз. Почему у кнопки не поотключать бордеры и не прописать для нее нужную картинку с градиентом и нужные размеры?


    Тем более для дизайна сайта нужна не баттн, а ссылка.
    В чем разница? То что "ручка" появляется? Так это тоже можно через css, cursor:pointer, если память не изменяет.

    Не ищи сложных решений, где все просто.
    Спустя 39 сек.

    а хуй с вами)) херню какую-то мутите))
    +1

Пожалуйста, авторизуйтесь, чтобы написать комментарий!