こんにちは私は、フォームのタイトルが既にデータベースに存在するかどうかを確認しようとしています。
マイコードは$ .postを実行してデータを取得しますが、e.preventDefault()で停止することはありません。またはfalseを返します。 e.preventDefault();タイトルが空のときに機能します。
$(document).ready(function() {
$('input[id$=btnSubmit]').click(function(e) {
var title = $("#title").val();
if (!title) {
alert('Please Add a title');
return false ;
e.preventDefault();
} else {
$.post("http://xendesktop.nl/uploader/checktitle.php",{ title:$(this).val() } ,function(data) {
if(data=='exists') {
alert('This title already exists');
e.preventDefault();
}
});
}
var description = $("#description").val();
if (!description) {
alert('Please Add a description');
return false ;
e.preventDefault();
}
これをどうすれば防ぐことができますか? – xendesktop
ハンドラの先頭でpreventDefaultを実行し、実行に成功したときにのみ、例えば '$(this).closest(" form ")。submit()を手動でトリガします。それには少しのリファクタリングが必要ですが、短くて簡潔な解決策に終わるでしょう。 – karim79