Capturar um formulário enviado em JavaScript

Parece haver muitas informações sobre como enviar um formulário usando javascript, mas estou procurando uma solução para capturar quando um formulário foi enviado e interceptá-lo em javascrip

HTML

<form>
 <input type="text" name="in" value="some data" />
 <button type="submit">Go</button>
</form>

Quando um usuário pressiona o botão enviar, eu faço deseja que o formulário seja enviado, mas eu gostaria que uma função JavaScript fosse chamad

function captureForm() {
 // do some stuff with the values in the form
 // stop form from being submitted
}

Um hack rápido seria adicionar uma função onclick ao botão, mas eu não gosto dessa solução ... existem muitas maneiras de enviar um formulário ... por exemplo pressionando return enquanto estiver em uma entrada, o que não é considerad

Ty

questionAnswers(5)

yourAnswerToTheQuestion