Ошибка отправки формы jQuery

#javascript #jquery #html #ajax #forms

#javascript #jquery #HTML #ajax #формы

Вопрос:

Добрый день всем.

У меня есть быстрый вопрос о том, почему мой jQuery не отправляет данные моей формы.

Это моя форма:

  <form id="submitForm" action="" method="">
                <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" name="from" placeholder="Your Email" style="color:#ccc;" />
                <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" name="fullName" placeholder="Your Full Name" style="color:#ccc;"  />
                <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" name="contactNumber" placeholder="Your Contact Number" style="color:#ccc;"  />
                <input class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" type="text" name="subject" placeholder="Subject" style="color:#ccc;"  />
                <textarea placeholder="Your Message Here..." class="ui-input-text ui-body-null ui-corner-all ui-shadow-inset ui-body-c" name="body" style="color:#ccc;" ></textarea>

                <input type="submit" id="search_button" value="Submit!" name="submit" />

            </form>
  

Вот мой код jQuery:

  <script type="text/javascript">
        $(document).ready(function(){

            $('#loading, .loading-text').hide();

            $('form#submitForm').submit(function( event ){

                event.preventDefault();

                document.write('Hola!');

                $('#loading').show();
                var formData = $('form#submitForm').serialize();
                $.ajax({
                    url: 'mAjax.php',
                    data: formData,
                    type: "get",
                    success: function( data ){
                        $('#loading, .loading-text').show();

                        if( !data.error ){
                            $('.alertText').html(data).show();
                        } else {
                            $('.alertText').html(data   data).show();
                        }
                        $('#loading, .loading-text').hide();
                    }
                });
                return false;
            });
        });
    </script>
  

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

Проблема, с которой я сталкиваюсь, заключается в том, что когда я нажимаю отправить или просто отправляю форму, ничего не происходит, она не доходит до document.write (‘Hola!’); бит, и он определенно не доходит до вызова AJAX.

Буду признателен за любую помощь в том, что я мог бы попытаться сделать, чтобы помочь этому.

Заранее спасибо!

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

1. поскольку вы используете «submitForm» в качестве «идентификатора» формы, тогда нет необходимости писать как $ (‘form#submitForm’), просто используйте $ (‘#submitForm’)

2. Вставьте ваш код в jsFiddle здесь jsfiddle.net/KnWte и это работает правильно. Это определенно достигает document.write (‘Hola’)

3. Сообщение появляется в jfiddle. jsfiddle.net/yt9YY Вы включили скрипт jquery? Вы включили этот файл после того, как включили jquery?

4. У меня определенно включены скрипты jQuery. Мобильный jQuery и обычный. Я изменил его просто на $(‘#submitForm’), и это не имело никакого значения, но стоит попробовать. Еще раз спасибо

5. Возможно, это не достигает mAjax.php ? Проверьте путь к файлу.

Ответ №1:

Я думаю, это потому, что вы не предоставили метод и действие.
Вместо:

 <form id="submitForm" action="" method="">
  

Выполнить:

 <form id="submitForm" action="[your current file]" method="GET">
  

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

1. Я не думаю, что это проблема, потому что форма в любом случае сериализуется, если у нее есть идентификатор или вы правильно указываете на нее в направлении этой формы, тогда все должно быть в порядке. В любом случае спасибо!

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