To avoid attackers sniffing something they can replay, you need to transmit `salted_hash (whatever_is_stored_in_database)`.
This still leaves the issue of setting your password in the first place. You have to transmit something an attacker could replay --- your only option for protecting it is tls. So you might as well use tls for protecting passwords when logging in as well, and then you don't need the browser to do anything clever with passwords.