<form method="" onsubmit="if(!this.form.username.value){alert('Вы не ввели имя!');return false}">
<p><b>Введите ваше имя:</b><br>
<input type="text" name="username">
</p>
<p>
<input type="submit" onclick="if(!this.form.username.value){alert('Введите имя');return false}" value="Отправить">
</form>
Наткнулся на то, что только такой метод кроссбраузерен. В файерфоксе, к примеру, не работает без обработчика на кнопке (если отправлять enter'ом из текстового поля). Собственно, вопрос банален - почему?