0

이전에 연락 양식을 작성한 적이 없으며이 양식을 어떤 이유로 제출하는 데 문제가 있습니다. 유효성을 검사하지만 제출을 클릭하면 아무 효과가 없습니다. 오류 없음. 아무것도. 나는 이것을 문자 그대로 12 시간 이상 일하고 있으며 나에게있어서 무엇이 잘못되었는지를 알 수 없다. 다음은 AJAX 코드가 포함 된 jquery 코드입니다.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> 

의 양식에 대한 코드입니다 그리고 이것은 내 머리카락을 날리고있어 전체

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$budget = $_POST['budget']; 
$body = $_POST['text']; 
$receiver = "[email protected]ouveau.com"; 
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'; 
    } 

} 

?> 

에서 "ajaxSubmit.php 코드 이 특정 폼이 실제로 작동하기를 원하기 때문에 여기에 있습니다. 나는 SOOOOOO close입니다. 사용자가 잘못 채워진 폼을 제출하려고 시도한 것이 아니라 같은 페이지에서 유효성을 검사하는 방식을 좋아합니다. 정말 원하지 않습니다. 우리 ers가 전체 전자 메일을 입력 한 다음 무언가를 입력하지 않았거나 잘못 입력했기 때문에 손실 된 것입니다.

+0

편집 Shinosha을 이용해 주셔서 감사합니다. 불행히도 양식은 여전히 ​​작동하지 않습니다. 어떤 아이디어? – Naomi

답변

0

에 더 그것으로 살펴본 후, 확실히 당신에게 문제를 일으키는 될 것 또 다른 오류가 있습니다. 양식은

name, email, budget, message 

불행하게도, 당신의 PHP 페이지라는 이름의 필드를 찾고라는 이름의 필드가 포함

name, email, budget, text 
귀하의 PHP 스크립트는 "텍스트"라는 이름의 필드를 찾을 수하지 않을

, 그래서 보인다 폼이 실제로 제출하고있을 가능성이 있지만 PHP 스크립트가 완전히 완료되었다고 생각하는 라이브러리를 얻는 데 필요한 "true"를 반환하지 않습니다. 메시지/텍스트 이름 지정 문제를 해결하면 왕복 여행에 더 가깝습니다.

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

안녕하세요. @SheldonGriffin입니다. 답장을 보내 주셔서 감사합니다. 이것은 제가 포함하지 않은 맨 위에있는 스크립트입니다. 나는 그것이 jquery의 이전 버전을 사용하고 있다고 생각한다. 1.3, 맞지? <스크립트 SRC = "http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"유형 = "텍스트/자바 스크립트"> \t \t <스크립트 SRC = "JS /jquery.validationEngine-en.js "유형 ="텍스트/자바 스크립트 "> \t \t <스크립트 SRC ="JS/jquery.validationEngine.js "유형 ="텍스트/자바 스크립트 "> – Naomi

+0

다시 한번 감사 @SheldonGriffin을! 우리는 또한 "callSuccessFunction"이 REAL 호출 함수로 대체 될 필요가 있다는 것을 알아 냈습니다. 성공적인 제출시 브라우저를 감사 페이지로 리디렉션하기 위해이 URL을 사용했습니다. 성공 : 함수() { \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

관련 문제