<form action="/order" method="post" onSubmit="return false;">
…
<input type="submit" value="Send" onClick="return full_validate_data();" />
</form>
function full_validate_data()
{
buy_email = document.getElementById('buy_email').value;
del_email = document.getElementById('del_email').value;
buy_phone = document.getElementById('buy_phone').value;
del_phone = document.getElementById('del_phone').value;
JsHttpRequest.query(
"/JsHttpRequest/backend_full_validate_data.php",
{ "buy_email": buy_email, "buy_phone": buy_phone, "del_email": del_email, "del_phone": del_phone },
function(result) {
good = true;
document.getElementById('error').innerHTML = '';
if (!result["buy_email"]) {
document.getElementById('error').innerHTML = result["buy_email_text"] + '.<br />';
good = false;
} if (!result["buy_phone"]) {
document.getElementById('error').innerHTML += result["buy_phone_text"] + '.<br />';
good = false;
} if (!result["del_email"]) {
document.getElementById('error').innerHTML += result["del_email_text"] + '.<br />';
good = false;
} if (!result["del_phone"]) {
document.getElementById('error').innerHTML += result["del_phone_text"] + '.';
good = false;
} if (good) {
document.forms['orderform'].submit();
}
},
false
);
return false;
}
Собственно, проблема в том, что форма не сабмитится. Причем, если перед document.forms['orderform'].submit(); написать alert(); то он срабатывает. Могу предположить, что при сабмите все равно идет return false; но если поставить эту функцию на onSubmit, происходит то же самое. Что делать?)