buenas...
primero una observacion. ¿un boton tipo submit no te es suficiente en lugar de un enlace? a juzgar por el codigo, me parece que queras que el boton sea una imagen. pues en tal caso, puedes usar el input tipo image el cual hace exactamente la misma funcion que uno de tipo submit. para esta solucion no necesitas de javascript.
¿igual quieres usar javascript? el problema del codigo es el contexto en que se evalua. el codigo se interpreta a partir de una URL y el contexto es de ambito global. o sea, this no hace referencia al elemento que contiene el codigo sino al contexto que lo evalua. en este caso el objeto window. el codigo javascript actual solamente funciona en los elementos de formularios: input, select, button, entre otros. para hacerlo funcionar desde una URL tienes que partir desde el objeto raiz. es decir, window > documento > formulario > invocar submit.