Как интегрировать механизм проверки js с jQuery AJAX и PHP email submit?

#php #jquery #ajax #email

#php #jquery #ajax #Адрес электронной почты

Вопрос:

Я использую из https://github.com/posabsolute/jQuery-Validation-Engine

Проверка сработала, но AJAX не сработал… Проблема в том, что у меня это не получалось много раз, я пытался это сделать, но это не удавалось более 30 раз, я не знаю почему, его пример отправки AJAX php мне не полезен…

Есть мой скрипт для проверки формы:

     $("#formID").validationEngine({promptPosition : "centerRight", scroll: false, ajaxFormValidation: true});
 

Есть мой скрипт jQuery AJAX, который я хочу интегрировать с механизмом проверки:

 $.ajax({
    type: "POST",
    url: "send.php",
    data: sendData,
    beforeSend: function () {
        $("#ajax").show();
    },
    success: function () {

        $('#listo').html("<p>Thank you!</p>")
            .hide()
            .fadeIn(1000, function () {

        });
    }
});                       
 

И есть еще один мой PHP-скрипт для отправки формы данных:

 function send_email() {
$message = "nNombre: " . $_POST['nombre'] .
    "nEmail: " . $_POST['email'] .
    "nMensaje: " . $_POST['message'] .
    "nTélefono: " . $_POST['tel'];

$message .= "nnBrowser Info: " . $_SERVER["HTTP_USER_AGENT"] .
    "nIP: " . $_SERVER["REMOTE_ADDR"] .
    "nnDate: " . date("Y-m-d h:i:s");

$siteEmail = 'my@mail.com';
$emailTitle = 'Contact from your website';
$thankYouMessage = "succesful sent.";   

if(! mail($siteEmail, $emailTitle, $message, 'From: ' . $_POST['nombre'] . ' <' . $_POST['email'] . '>'))
    echo 'cannot send...';
 

}

Кто-нибудь может мне помочь?

Ответ №1:

Не могли бы вы попробовать это:

 jQuery(document).ready(function () {
    jQuery("#formID").validationEngine({
        promptPosition: "centerRight",
        scroll: false,
        ajaxFormValidation: true,
        ajaxFormValidationURL: "send.php",
        onBeforeAjaxFormValidation: function () {
            $("#ajax").show();
        },
        onAjaxFormComplete: function () {
            $('#listo').html("<p>Thank you!</p>")
                .hide()
                .fadeIn(1000);
        }
    });
});