In this kind of programming there are no hard and fast rules.
I don't think there is a significant difference between the two.
Which one you choose depends on how creatively you put the function
However, i prefer the second. I get the feeling the button is
'overloaded', as it has to respond to two events: submit the form
and run the script.
will only be natural for it to be called by onSubmit. Imagine that
the result of the form validation,
return JSCheck(this.form), is a boolean. If it is true, the
form is submitted; otherwise, not. In these circumstances the code
onSubmit="true;" will be more natural than the code