Плагин jQuery.validate позаботится об этом, и я настоятельно рекомендую вам использовать его:
$('#submitme').validate({
rules: {
n1: {
remote: {
url: 'validate.php',
type: 'post'
}
}
}
});
Но если вы не хотите использовать его, другой возможностью являетсяиспользуйте глобальную переменную, например, так:
$('#submitme').submit(function() {
if (!$.formSubmitting) {
var $form = $(this);
$.post('validate.php', { value: $('#n1').val() }, function (data) {
if (data == 'true') {
// set the global variable to true so that we don't enter
// the infinite loop and directly submit the form
$.formSubmitting = true;
$form.submit();
}
});
return false;
}
return true;
});
Просто замечание: кнопка, которую вы поместили внутри формы, не является кнопкой отправки, поэтому нажатие на нее не вызовет обработчик submit
.Вы должны сделать это кнопкой отправки:
<input value="Send" type="submit" />