Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Что не так сделал(отправка формы)


Автор: Predator199 17.12.2012, 20:52
Код

    $(document).ready(function() {
        form = $("#formid"), select = $("#formid select");    
        select.change(function(){

    form.submit(function() {
           var data = $(this).serialize();
            $.ajax({
                type:'POST',
                url:'ajax.php?do=ajax_category',
                data:data + '&go=1',            
            });
                return false;
        }); 
                    
    
        });                                            
    });    


После выбора селект(в форме "#formid").Форма должна отправить без обновл страницы, передав данные селекта. Что я не так сделал?

Автор: ksnk 17.12.2012, 21:04
Код

$(document).ready(function() {
       var  form = $("#formid"), select = $("#formid select");    
       
    form.submit(function() {
           var data = $(this).serialize();
            $.ajax({
                type:'POST',
                url:'ajax.php?do=ajax_category',
                data:data + '&go=1',            
            });
                return false;
        }); 
                    
     select.change(function(){form.submit()    });                                            
});  


найди 10 отличий  smile 

Автор: Arantir 17.12.2012, 21:13
Predator199, вы осознаете, что пишите?

Цитата

select.change(function(){
    form.submit(function() {
        ...
Что компьютер должен делать с такими условиями?

Добавлено через 3 минуты и 46 секунд
ksnk, а я бы сделал так =) Если уж запрос идет со скрипта.
Код

    $(document).ready(function() {
        form = $("#formid"), select = $("#formid select");    

    select.change(function() {
           var data = form.serialize();
            $.ajax({
                type:'POST',
                url:'ajax.php?do=ajax_category',
                data:data + '&go=1',            
            });
                return false;
        }); 
                                                         
    });


Добавлено через 5 минут и 51 секунду
Predator199, для ясности, ваш код делает следующее: при выборе селекта устанавливается событие на отправку формы.
Чтобы отправить форму вашим кодом, то нужно сначала выбрать селект, а потом нажать на кнопочку "отправить". Хм... Это, собственно, ничем не отличается от действий без скриптов...

Автор: Predator199 17.12.2012, 21:23
Спасибо. Написал как знал smile . Буду закрывать пробелы

Автор: Arantir 17.12.2012, 21:32
Predator199, ну ваш код не плохой. Он просто выполняет совсем другую функцию. Это могло бы быть полезным при валидации формы. Например, если нет стандартного пункта в селекте, но пользователь обязательно что-то должен выбрать. В таком случае ваш код будет отправлять форму по кнопочке только после выбора чего-либо в селекте (при условии, что у формы нет стандартного action, например action="return false;").

Автор: Predator199 17.12.2012, 21:34
Спасибо smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)