Функция определяется внутри обработчика нагрузки и, следовательно, находится в другом объеме. Как отмечает @ellisbben в комментариях, вы можете исправить это, явно указав его для объекта window
. Еще лучше изменить его, чтобы ненавязчиво применять обработчик к объекту: http://jsfiddle.net/pUeue/
$('input[type=button]').click( function() {
alert("test");
});
Обратите внимание, что применение обработчика таким образом, вместо встроенного, сохраняет ваш HTML чистым. Я использую jQuery, но вы можете сделать это с или без фреймворка или использовать другой фреймворк, если хотите.