I think you want to be able to verify that the password is secure (greater than a certain length, uses capitals and symbols, etc.)
if you just pass the hash back to the server, you can't verify that the password was secure.
if you just pass the hash back to the server, you can't verify that the password was secure.
More serious reason is imo js requirement, as I'm not aware of native support of password hashing in HTML forms. Also, different ways of hash keying/salting would make it either complicated or inflexible..