#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. Я думаю, что это была смесь нескольких вещей, но я использовал ваш ответ, а также другие вещи. Так что спасибо!