Hola:
Los controles de los formularios debes tratarlos con más mimo, y no es lo mismo modificar el src de un tag img que el tag de un input... posiblemente algún navegador te lo permita, pero suelen provocar errores debidos a razones de seguridad... si no te vale un tag img y obligatoriamente debe ser un input type="image", puede que te sirva el método setAttribute, pero un tag img puede estar debajo de un tag input con una imagen transparente (solo se trata de una idea...)
Saludos