Saya sedang mengerjakan aplikasi web ASP.net.
Saya memiliki formulir dengan tombol kirim. Kode untuk tombol kirim terlihat seperti ini <input type='submit' value='submit request' onclick='btnClick();'>
.
Saya ingin menulis sesuatu seperti berikut:
function btnClick() {
if (!validData())
cancelFormSubmission();
}
Bagaimana saya melakukan ini?
javascript
html
forms
html-input
Sungai Vivian
sumber
sumber
submit
masukan berbeda . Saya rasa saya akan mencoba menggunakan kontrol sisi server di halaman ini.Jawaban:
Anda lebih baik melakukan ...
Jika
isValidForm()
kembalifalse
, maka formulir Anda tidak terkirim.Anda juga mungkin harus memindahkan pengendali acara Anda dari sebaris.
sumber
onsubmit
bekerja setiap kali saya menggunakan ASP.net karena asp.net membungkus SEMUANYA dalam bentuknya sendiri ...Ubah masukan Anda menjadi ini:
Dan kembalikan false dalam fungsi Anda
sumber
Anda perlu berubah
untuk
dan
untuk
Yang mengatakan, saya akan mencoba untuk menghindari atribut acara intrinsik yang mendukung JS yang tidak mengganggu dengan perpustakaan (seperti YUI atau jQuery) yang memiliki API penanganan acara yang baik dan terkait dengan acara yang benar-benar penting (yaitu acara pengiriman formulir sebagai gantinya dari acara klik tombol).
sumber
Terkadang
onsubmit
tidak berfungsi dengan asp.net.Saya menyelesaikannya dengan cara yang sangat mudah.
jika kita memiliki bentuk seperti itu
Anda sekarang dapat menangkap acara itu sebelum formulir postback dan menghentikannya dari postback dan melakukan semua ajax yang Anda inginkan menggunakan jquery ini.
sumber
Anda harus mengubah tipe dari
submit
menjadibutton
:dari pada
Anda kemudian mendapatkan nama tombol Anda dalam javascript dan mengaitkan tindakan apa pun yang Anda inginkan
bekerja untuk saya semoga membantu.
sumber
Anda perlu
return false;
:sumber
Mengapa tidak mengubah tombol kirim menjadi tombol biasa, dan pada acara klik, kirimkan formulir Anda jika lolos tes validasi?
misalnya
sumber
Anda membutuhkan
onSubmit
. BukanonClick
sebaliknya, seseorang dapat menekan enter dan itu akan melewati validasi Anda. Adapun pembatalan. Anda harus mengembalikan false. Berikut kodenya:Edit onSubmit termasuk dalam tag formulir.
sumber
Sederhana saja, kembalikan false;
Kode di bawah ini masuk dalam satu klik tombol kirim menggunakan jquery ..
sumber
menggunakan
onclick='return btnClick();'
dan
sumber
sumber
ev.preventDefault()
atauev.returnValue = false
membatalkan perilaku default tetapi tidak mencegah peristiwa menggelegak, jika kontrol lain mengamati peristiwa yang sama pada elemen yang sama. Gunakanreturn false
hanya jika Anda ingin menghentikan acara menggelembung dan membatalkan tindakan default. Lihat artikel ini .sumber
Dengan JQuery bahkan lebih sederhana: bekerja di Asp.Net MVC dan Asp.Core
sumber