Есть код:
<form method='POST'>
<input type='text'>
<input type='submit' onclick = 'f();'>
</form>
<script>
function f () {
document.location.href="http://yandex.ru";
}
</script>
Переадресации не происходит. Почему? Ведь сначала выполняется js-скрипт, и лишь затем - отправка данных на сервер, как, например, здесь:
<form method='POST' action='2.php'>
<input type='submit' onclick = 'f();'>
</form>
<script>
function f () {
alert(1); //выдаст 1, затем - обработка данных скриптом '2.php' (т.е., по сути, редирект на '2.php')
}
А в коде ниже - происходит, если для submit прописать
return false;
<form method='POST'>
<input type='text'>
<input type='submit' onclick = 'f();return false;'>
</form>
<script>
function f () {
document.location.href="http://yandex.ru";
}
</script>
Объясните, пожалуйста.