0

Я никогда не создавал контактную форму раньше, и у меня возникают проблемы с отправкой этого по какой-либо причине. Он корректно проверяет, но когда я нажимаю кнопку «Отправить», он ничего не делает. Нет ошибок. Ничего. Я работаю над этим буквально через 12 часов, и для жизни я не могу понять, что случилось. Вот код jquery, содержащий код AJAX.Ajax не отправляет контактную форму

$(document).ready(function() { 
    $("#form1").validationEngine({ 
     ajaxSubmit: true, 
     ajaxSubmitFile: "ajaxSubmit.php", 
     ajaxSubmitMessage: "Thank you, We will contact you soon !", 
     inlineValidation: false, 
     success: function() { 
      callSuccessFunction() 
     }, 
     failure: function() {} 
    }) 
}); 

А вот код формы на HTML странице

<form class="form" id="form1" method="post" action="ajaxSubmit.php"> 
    <input class="validate[required,custom[onlyLetter],length[0,100]] text-input" type="text" name="name" id="name" placeholder="How may I address you?"><label for='name '>name</label><br /> 
    <input class="validate[required,custom[email]] text-input" type="text" name="email" id="email" placeholder="I promise, I hate spam as much as you do."><label for='email '>email</label><br /> 
    <input class="validate[required,length[0,100]] text-input" type="text" name="budget" id="budget" placeholder="$USD amount, please."><label for='budget '>budget</label><br /> 
    <textarea name="message" class="validate[required,length[6,300]] text-input" id="comment" placeholder="What's on your mind?"></textarea><br /> 
    <p class="submit"><input type="submit" value="Send"></p> 
</form> 

И это «ajaxSubmit.php код в полном

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$budget = $_POST['budget']; 
$body = $_POST['text']; 
$receiver = "[email protected]"; 
if (!empty($name) & !empty($email) && !empty($body)) { 
    $body = "Name:{$name}\n\nBudget :{$budget}\n\nComments:{$body}"; 
    $send = mail($email, 'Contact Form Submission', $body, "From: {$email}"); 
    if ($send) { 
     echo 'true'; 
    } 

} 

?> 

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

+0

Благодарим за редактирование Шиноша. К сожалению, форма все еще не работает. Любые идеи почему? – Naomi

ответ

0

Посмотрев в него дальше, есть еще одна ошибка, которая, безусловно, будет причинять вам неприятности. Ваша форма содержит поля, названные

name, email, budget, message 

К сожалению, ваша страница PHP ищет полей имени

name, email, budget, text 

Ваш PHP скрипт не будет в состоянии найти поле с именем «текст», так что кажется возможно, что ваша форма действительно отправляется, но ваш PHP-скрипт не возвращает «истину», необходимую для того, чтобы библиотека подумала, что она полностью закончена. Если вы исправите проблему ввода сообщений/текста, вы должны быть ближе к рабочей поездке туда и обратно.

0

Предполагая, что вы используете версию jquery-validation-engine версии 2.6.1, нет «onlyLetter», вам нужно изменить его на «onlyLetterSp».

<input class="validate[required,custom[onlyLetter],length[0,100]] text-input" type="text" name="name" id="name" placeholder="How may I address you?"><label for='name '>name</label><br /> 

в

<input class="validate[required,custom[onlyLetterSp],length[0,100]] text-input" type="text" name="name" id="name" placeholder="How may I address you?"><label for='name '>name</label><br /> 
+0

Эй @ ШелдонГриффин. Спасибо за ответ. Это сценарий, который у меня на вершине, который я не включил. Я думаю, что он использует более старую версию jquery. 1.3, правильно? <сценарий SRC = "http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" Тип = "текст/JavaScript"> \t \t \t \t <сценарий SRC = "" Тип = "JS/jquery.validationEngine.js текст/JavaScript"> – Naomi

+0

Еще раз спасибо @SheldonGriffin! Мы также выяснили, что «callSuccessFunction» необходимо заменить с помощью функции REAL вызова. Мы использовали этот вариант для перенаправления браузера на страницу с благодарностью при успешном представлении. успех: функция() { \t \t \t \t \t window.location.href = «http://www.seednouveau.com/ThankYou.HTML '; \t \t \t \t}, \t \t \t \t недостаточность: функция() {} Удаление всей линии все вместе также представил соответствующее сообщение AJAX отправлено уведомление, которое было первоначально предназначенное в исходном коде. Еще раз спасибо! – Naomi

+0

Извините. Я новичок в StackOverflow. Не уверен, как правильно отформатировать эти сообщения! – Naomi