возможно 1я проблема кода - в асинхронном режиме ajax-запроса на '/../ajax/script.php', т.к. отослав запрос серверу браузер отменяет отправку данных ('return false;'). А уже после этого получается ответ от сервера, изменяется textdiv и !внимание повторно вызывается метод submit, который повторяет ajax запрос.
Можете попробовать следующий код:
<script type="text/javascript">
function my_submit(){
$("#textdiv").AJAX({
async: 'FALSE', url: '/../ajax/script.php', dataType : "json", data: {param: 'kakoj-to param'},
success: function (data, status) {
win_ajax_status = status; // сохранение статуса ответа в глобальной переменной.
}});
if (win_ajax_status=='error' && $('#textdiv').text()!='OK') {
return false;
}
}
//-->
</script>
<form name='myform' ONSUBMIT="my_submit();">
Код работает так:
- перед отправкой формы производиться синхронный запрос ($.ajax (async: 'false', ...)) и после получения ответа от сервера сначала обновляется textdiv, и выполняется (функция) сохранение статуса ответа в win_ajax_status. Если win_ajax_status указывает на ошибку, либо сервер прислал что-то иное нежели "OK" то отменяется отправка всей формы.