Почему этот jQuery AJAX не работает?

#php #jquery #forms #form-submit

#php #jquery #формы #форма-отправить

Вопрос:

Я не понимаю, почему эта форма не отправляется.

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

  • Ссылка на форму здесь
  • Ссылка на скрипт здесь

    Я просто попытался загрузить файл PHP в браузере, и он не сработал. Я сохраню его в формате .txt, чтобы вы могли его просмотреть. Это будет @ ……multiform/post.txt

Кроме того, как мне отправить всю форму вместо указания всех значений для бита «данные»:

    $.ajax({
        type: 'POST',
        url: 'post.php',
        data: {subject:options.subject, name:$(this_id_prefix '#adycustlname').val(),     email:$(this_id_prefix '#email').val(), message:$(this_id_prefix '#zip').val()},
        success: function(data){
  

Также игнорируйте success: function(data){ раздел, эта форма будет помещена на панель слайдов, так что это то, что должен делать слайдер после. У меня такое чувство, что это неправильно, но
главная проблема заключается в том, чтобы получить форму для отправки.

Редактировать

      $('#submit_seventh').click(function(){

               //send information to server

       $.ajax({
            type: 'POST',
            url: 'post.php',
            data: $('#bob').serialize(),
            success: function(data){
                        $(this_id_prefix '#loading').css({display:'none'}); 
                        if( data == 'success') {
                            $(this_id_prefix '#callback').show().append(options.recievedMsg);
                            if(options.hideOnSubmit == true) {
                                //hide the tab after successful submition if requested
                                $(this_id_prefix '#contactForm').animate({dummy:1}, 2000).animate({"marginLeft": "-=450px"}, "slow");
                                $(this_id_prefix 'div#contactable_inner').animate({dummy:1}, 2000).animate({"marginLeft": "-=447px"}, "slow").animate({"marginLeft": " =5px"}, "fast"); 
                                $(this_id_prefix '#overlay').css({display: 'none'});    
                            }
                        } else {
                            $(this_id_prefix '#callback').show().append(options.notRecievedMsg);
                            setTimeout(function(){
                                $(this_id_prefix '.holder').show();
                                $(this_id_prefix '#callback').hide().html('');
                            },2000);
                        }
                    },
  error:function(){
                        $(this_id_prefix '#loading').css({display:'none'}); 
                        $(this_id_prefix '#callback').show().append(options.notRecievedMsg);
                                        }
});     




        alert('Data sent');
    });   
        } else return false;  
        alert('Fail');

    });
  

^^^^^ Почему приведенный выше код не работает? ^^^^^

Комментарии:

1. Можете ли вы отсортировать соответствующий код и поместить его сюда? Это слишком долго для чтения

2. data: $('#yourform').serialize() захватит все данные формы.

3. @Mr.J4mes @Marc B , я добавил изменение data: , также я добавил соответствующий код

Ответ №1:

В конце вашего скрипта вы должны заменить

 $('#submit_fourth').click(function(){
    //send information to server
    alert('Data sent');
});
  

с правильным URL для отправки.

Комментарии:

1. @powtac @dm03514 я не понимаю, добавлять мне $.ajax или нет ?.. отправка происходит на $('#submit_seventh').click....