嗨我试着检查一个表单中的标题是否已经存在于数据库中。
我的代码执行$ .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
我会在处理程序开始时阻止默认值,并且只有当我们有条件时才手动触发提交,例如'$(this).closest(“form”)。submit()'。这将需要一点重构,但最终会得到一个更简洁,更简洁的解决方案。 – karim79