Saya memiliki tombol kirim seperti ini:
<input class="create_button" name="commit"
onclick="return validate_activity();"
type="submit" value="Save">
Saya menemukan bahwa tombol ini akan selalu mengirimkan permintaan ke server terlepas dari apakah validate_activity() mengembalikan nilai true atau false?
Apa masalahnya di sini?
PEMBARUAN
Sebenarnya, saya melakukan kesalahan dalam validate_activity() saya, itu membuat saya berpikir bahwa itu mengembalikan nilai false, tetapi ternyata tidak.
coba lakukan hal yang sama tanpa pengembalian, misalnya onclick="validate_activity();"
dan periksa apakah fungsi Anda mengembalikan nilai false jika terjadi ketidakabsahan
Saya kira masalahnya adalah onclick="return validate_activity();"
, pernyataan return ini dieksekusi ketika mengklik tombol submit (bukan return false).
Cara yang benar adalah onclick="validate_activity();"
dan mengembalikan nilai false pada fungsi validata_activity
, yang akan menghentikan aksi default submit.
Anda harus menggunakan event submit
pada formulir untuk validasi ...
<form action="..." method="..." onsubmit="return validate_activity()">
<...>
<input class="create_button" name="commit" type="submit" value="Save" />
<...>
</form>