電子メールの検証に外部APIを使用してフォームを検証しようとしています。ここで外部APIによる検証が失敗した場合にJavascriptフォームが送信されない
は私のformタグである:
<form class="form-horizontal" role="form" onsubmit="return validateForm()" method="post">
これは私のJSコードです:
function validateForm() {
var email = $("#email").val();
$.ajax({
url: "https://bpi.briteverify.com/emails.json?address=" + $("#email").val() + "&apikey=XXXXXXXXXXX",
dataType: "jsonp"
}).then(function(data) {
console.log('BrightVerify result : ' + data.status);
if (data.status == 'invalid') {
document.getElementById("checkResult").innerHTML = 'Email address is invalid!';
console.log('Setting result to false.');
return false;
}
});
}
何があってAPIに戻り、フォームが送信されません。
私には何が欠けていますか?
function validateForm(event) {
event.preventDefault();
// ...
}
、代わりにonsubmit="return validateForm()"
使用onsubmit="return validateForm(event)"
の:
[非同期呼び出しからの応答を返すにはどうすればよいですか?](http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-コール) – Andreas
あなたはなぜ、 –