Я полагаю, что ваш вызов alert () вызывает событие blur () формы, что вызывает повторную отправку формы.
обновление
Если вы используете Firebug, вы можете использовать следующий javascript:
console.debug('my message goes here');
для отправки сообщений на консоль Firebug. Я обычно заключаю это в вызов как этот:
function status(msg)
{
if(console)
console.debug('# '+msg);
}
}
и затем вызовите статус ('мое сообщение здесь ...') в моем javascript, чтобы выдать любые сообщения отладки / трассировки, которые мне требуются. Оборачивая его в функцию, как я делал выше, вы гарантируете, что код будет по-прежнему работать при запуске в браузере, который не определил объект консоли (IE или любой браузер, в котором не установлен Firebug).