ФорумПрограммированиеJavaScript → Проблема с jQuery (не могу запретить автозапуск ф-ции)

Проблема с jQuery (не могу запретить автозапуск ф-ции)

  • TRIAL

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

    Spritz 23 декабря 2009 г. 8:27

    Есть страница с некоторым кол-ом checkbox'ов. При установке/снятии галочки выполняется некое действие, а точнее обновляются данные в БД и выводятся в <div> на этой же странице.
    В принципе всё работает, но есть проблема. При загрузке/обновлении страницы функция выполняется без каких-либо действий с моей стороны и изменяет результаты в БД.
    Как сделать так, что бы она выполнялась только при работе непосредственно с checkbox'ом.
    Вот моя функция:
    $(function() {
    $('input:checkbox')
    .change(function() {

    var id = $(this).val();

    $.post(
    'action.php',
    { action: 'form', param: id},
    function(data) {
    $('#curDiv').html(data);
    }
    );
    })
    change();
    });

    Пробовал изменять change() на click(). Проблема всё равно остается.
    Подскажите плиз как быть.
    from TRIAL with LOVE
  • phpdude

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

    Spritz 23 декабря 2009 г. 8:36, спустя 8 минут 52 секунды

    ахуенчег

    $(function() {
    $('input:checkbox')
    .change(function() {

    var id = $(this).val();

    $.post(
    'action.php',
    { action: 'form', param: id},
    function(data) {
    $('#curDiv').html(data);
    }
    );
    })
    change();
    });


    вот нахера там в конце change() ? :)
    Сапожник без сапог
  • NRG

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

    Spritz 23 декабря 2009 г. 8:42, спустя 6 минут 15 секунд

    TRIAL, давненько тебя тут небыло =)
  • TRIAL

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

    Spritz 23 декабря 2009 г. 8:44, спустя 1 минуту 47 секунд

    Чтоб я знал ))) Но теперь кажись понял.
    Без него вроде всё норм работает. Правда кое что теперь дописать придется но это уже не проблема )))
    СПС
    from TRIAL with LOVE
  • phpdude

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

    Spritz 23 декабря 2009 г. 8:44, спустя 14 секунд


    TRIAL, давненько тебя тут небыло =)
    и видимо зря)
    Сапожник без сапог
  • TRIAL

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

    Spritz 23 декабря 2009 г. 8:46, спустя 2 минуты 1 секунду

    Ага ))) Бездельничал долгое время. Щас вот решил движок свой переписать, ну и без проблем как всегда не обходится )))
    Решил некоторые вещи на jQuery написать но опыта пока не хватает. Так что порой возникают "дурацкие" вопросы как оказалось )))
    from TRIAL with LOVE
  • adw0rd

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

    Spritz 23 декабря 2009 г. 9:24, спустя 38 минут 18 секунд

    TRIAL, вот не появляешься тут, поэтому и опыта нема :)
    adw/0
  • Sinkler

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

    Spritz 23 декабря 2009 г. 17:24, спустя 7 часов 59 минут 45 секунд

    о, TRIAL, хаюшки =)
  • TRIAL

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

    Spritz 24 декабря 2009 г. 6:39, спустя 13 часов 15 минут 13 секунд

    Привет :)
    А подскажите вот еще что. До этого всё в опере тестил а тут на ИЕ8 (да и в других версиях та же фигня) переключился и обнаружил такой глюк: когда выделяю чекбокс или снимаю выделение ничего не происходит, что бы произошло действие надо кликнуть в любой части экрана, только после этого действие выполняется. Что за глюк такой и как с ним справиться?
    —-
    Ну вроде справился. Изменил change() на click(). Вроде заработало везде.
    Но если кто знает что фигня такая напишите плиз. Хоть буду знать как с таким справиться в будущем.

    Еще вопрос возник :)
    После того как чекбокс отмечен, у меня на страницу выводится новое поле для ввода input=text. Как мне заставить jQuery работать с ним? У меня не получается. Очевидно это из-за того что изначально его не было. Что нужно сделать чтоб и новые объекты могли обрабатываться?
    from TRIAL with LOVE
  • Trej Gun

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

    Spritz 24 декабря 2009 г. 7:03, спустя 24 минуты 14 секунд

    TRIAL, ну это такое поведения события check так типа должно быть

    вот пример http://mabp.kiev.ua/2007/07/03/onmouseover_checkbox_toggler/
  • TRIAL

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

    Spritz 24 декабря 2009 г. 7:43, спустя 39 минут 38 секунд

    Если что, я разобрался с проблемой добавления новых элементов на страницу и работы с ними :) Теперь юзаю .live()
    from TRIAL with LOVE
  • TRIAL

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

    Spritz 29 декабря 2009 г. 7:53, спустя 5 дней 9 минут

    Дабы темы не плодить, буду новые вопросы задавать в этой.
    Не подскажите, как мне сделать так, что бы при выполнении AJAX функций отображалась например какая-нибудь гифка, которая бы показывала что выполняется какое-нибудь действие. Вроде понятно написал?!! :) Короче отображать процесс загрузки. Пока всё моментально отображается, но это на локалке. чтоб на хосте в будущем проблем не было, хотелось бы такое сделать.
    Пытался погуглить но чет безуспешно. Так ничего даже близкого не нашел. На JavaScript+AJAX помню такое делал, но как уже хз ))) да и там методы чуток другие :)
    from TRIAL with LOVE
  • Ewg777

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

    Spritz 29 декабря 2009 г. 7:56, спустя 2 минуты 54 секунды


    Дабы темы не плодить, буду новые вопросы задавать в этой.
    Не подскажите, как мне сделать так, что бы при выполнении AJAX функций отображалась например какая-нибудь гифка, которая бы показывала что выполняется какое-нибудь действие. Вроде понятно написал?!! :) Короче отображать процесс загрузки. Пока всё моментально отображается, но это на локалке. чтоб на хосте в будущем проблем не было, хотелось бы такое сделать.
    Пытался погуглить но чет безуспешно. Так ничего даже близкого не нашел. На JavaScript+AJAX помню такое делал, но как уже хз ))) да и там методы чуток другие :)
    Чтобы JS на хостинге работало нормально?
    Что за бред?
  • Baboot

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

    Spritz 29 декабря 2009 г. 7:57, спустя 1 минуту

    TRIAL,
    http://docs.jquery.com/Ajax/jQuery.ajax#toptions

    Там есть опция beforeSend, там делаю ф-ю которая будет показывать анимированный gif, а на complete убирай ее.
  • Baboot

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

    Spritz 29 декабря 2009 г. 8:04, спустя 7 минут 21 секунду

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

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