Struts2 sendiri menyediakan mekanisme pemeriksaan untuk pengiriman berulang, tetapi yang saya inginkan bukanlah memunculkan halaman kesalahan, tetapi memperlakukannya sebagai tidak terjadi apa-apa dan hanya melakukan satu pengiriman
1. Tetapkan variabel, tetapkan variabel, dan hanya izinkan satu penyerahan.
<skrip tipe="teks/javascript">
fungsi checkKirim() {
jika (checkSubmitFlg == benar) {
kembali salah;
}
checkSubmitFlg = benar;
kembali benar;
}
</script>
<form onsubmit="return checkSubmit();" method="post">
Metode 1 efektif pada IE6 dan FIREFOX
2. Nonaktifkan tombol Karena server kami terlalu lambat, tombol menjadi Abu-abu, memberikan pengguna pengalaman yang lebih baik
<script type="text/javascript">
fungsi nonaktifkanKirim(formulir) {
var elemen = bentuk.elemen;
for (var i = 0; i < elemen.panjang; i++) {
if (elemen[i].type == 'kirim') {
elemen[i].disabled = true;
}
}
}
</script>
<form name="form1" onsubmit="setTimeout('disableSubmit(form1)',100) return checkSubmit();" method="post">
Jika Anda segera menonaktifkannya, setelan tindakan individual tombol akan menjadi tidak valid, jadi Metode 2 untuk menambahkan penundaan valid di IE6. Tidak valid di FIREFOX, alasan tidak diketahui. Tapi ini asuransi kedua, jadi tidak masalah.
Artikel referensi
http://blog.csdn.net/LoveYou1999/archive/2007/02/02/1501295.aspx
http://www.takka.com.hk/jstutor/ch10/ch10.htm