Я использую этот код для отправки формы в скрипт php:
var valid = 'true';
$(document).ready(function(){
$("#contact").submit(function(){
$.post("process.php",
$("#contact").serialize(),
function(data){
if(data.email_check == 'invalid'){
valid = 'false'; //<---not set!
$("#email1").addClass('missing');
$("#message_ajax")
.html("<div class='errorMessage'>Sorry is NOT a valid e-mail address. Try again.</div>");
} else {
$("#message_ajax")
.html("<div class='errorMessage'>YES! this is A valid e-mail address. DO NOT Try again.</div>");
}
}, "json"
);
if(valid == 'true'){
$("#contact").hide();
}
return false;
});
});
Я знаю, что скрипт возвращает недопустимое значение, потому что div и css обновляются, как и ожидалось, но переменная 'valid' никогда не устанавливается в 'false'. Подумав, что это проблема сферы действия, я переместил декларацию и заявление if без радости.
Возможная связанная проблема - я использую firebug для пошагового выполнения кода, но он останавливается на моей точке останова только при первом выполнении кода и никогда больше, но я могу отправить форму любое количество раз, и это всегда отвечает, как ожидается - действительный или недействительный. Как видите, я очень новичок в jQuery.