liveValidation.js という小さなライブラリを使用しています。これを使用して、フォーム内のいくつかの入力を検証しています。
無効な入力がある場合、フォーム ボタンを自動的に無効にする必要がありますが、機能しません。
ここに私のHTMLコードがあります:
<form method="POST" id="contactForm">
<label for="name">Name</label>
<input type="text" name="name" id="contactFormName" value=""/>
<label for="email">E-Mail</label>
<input type="text" name="email" id="contactFormEmail" value=""/>
<label for="message">Your message here</label>
<textarea name="message" id="contactFormMessage"></textarea>
<input type="submit" id="submit" value="submit"/>
</form>
liveValidation.js を初期化する方法は次のとおりです。
function liveValidation() {
var name = new LiveValidation('contactFormName');
name.add(Validate.Presence);
var email = new LiveValidation('contactFormEmail');
email.add(Validate.Presence);
email.add(Validate.Email);
var message = new LiveValidation('contactFormMessage');
message.add(Validate.Presence);
};
$(document).ready(function ($) {
$("#loadingDiv").hide(400);
liveValidation();
sendEmail();
});
これは AJAX リクエスト コードです。
function sendEmail() {
var form = $("#contactForm");
var resultDiv = $(".formResult");
$("#submit").click(function () {
$.ajax({
type: "POST",
url: "sendEmail.php",
data: form.serialize()
}).done (function (){
resultDiv.addClass('success').html('Message sent successfully')
}).fail(function () {
resultDiv.addClass('fail').html("Message not sent. Try again")
});
}
});
};
なぜこれが適切に機能しないのか考えてみませんか? これが役立つ場合は、livevalidation Web サイトです -> http://livevalidation.com/