Saya ingin menghapus semua bidang input dan textarea dalam formulir. Ini berfungsi seperti berikut saat menggunakan tombol input dengan reset
kelas:
$(".reset").bind("click", function() {
$("input[type=text], textarea").val("");
});
Ini akan menghapus semua bidang pada halaman, bukan hanya yang dari formulir. Bagaimana pemilih saya terlihat seperti bentuk tombol reset yang sebenarnya?
Jawaban:
sumber
input[type=password]
bidangmu.Untuk jQuery 1.6+ :
Untuk jQuery <1.6 :
Silakan lihat posting ini: Mengatur ulang formulir multi-tahap dengan jQuery
Atau
Seperti yang disarankan jQuery :
sumber
$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, select').val('').removeAttr('value');
. Ini akan menghapus nilai default (yaituvalue="something"
, tetapi tidak untuk kotak centang atau seleksi.$(':input').not(':button, :submit, :reset, :hidden').removeAttr('checked').removeAttr('selected').not(':checkbox, :radio, select').val('');
(berdasarkan komentar Jeppe Mariager-Lam)Ada alasan mengapa ini tidak boleh digunakan?
sumber
form
, Anda salah melakukannya. Anda akan benar jika pemilihnya adalahform
, tetapi itu lebih merupakan pemilih ID#form
.$("form").trigger('reset');
benar-benar memicu peristiwa "reset" pada SEMUA<form>
elemen. Dalam kebanyakan kasus, itu mungkin salah. Tetapi$("#form").trigger('reset');
(ditampilkan dalam jawaban asli) hanya memicu acara "reset" pada elemen yang memiliki set id "form" (dapat dijangkau dengan#form
pemilih). Dan ya, satu id harus digunakan hanya sekali, ini sebabnya mereka menyebutnya "id", karena mengidentifikasi satu elemen dengan jelas.Ini tidak akan menangani kasus di mana bidang input formulir memiliki nilai default yang tidak kosong.
Sesuatu seperti seharusnya bekerja
sumber
Jika Anda menggunakan penyeleksi dan membuat nilai menjadi nilai kosong, itu tidak mengatur ulang formulir, itu membuat semua bidang kosong. Reset adalah membuat formulir seperti sebelum tindakan edit dari pengguna setelah memuat formulir dari sisi server. Jika ada input dengan nama "nama pengguna" dan nama pengguna itu diawali dari sisi server, sebagian besar solusi pada halaman ini akan menghapus nilai itu dari input, tidak mengatur ulang ke nilai seperti sebelum perubahan pengguna. Jika Anda perlu mengatur ulang formulir, gunakan ini:
jika Anda tidak perlu mengatur ulang formulir, tetapi isi semua input dengan beberapa nilai, misalnya nilai kosong, maka Anda dapat menggunakan sebagian besar solusi dari komentar lain.
sumber
Sederhana tetapi bekerja seperti pesona.
sumber
Jika seseorang masih membaca utas ini, berikut adalah solusi paling sederhana menggunakan bukan jQuery, tetapi JavaScript biasa. Jika bidang input Anda ada di dalam formulir, ada perintah reset JavaScript sederhana:
Lebih lanjut tentang hal itu di sini: http://www.w3schools.com/jsref/met_form_reset.asp
Bersulang!
sumber
sumber
Mengapa itu harus dilakukan dengan JavaScript sama sekali?
http://www.w3.org/TR/html5/the-input-element.html#attr-input-type-keywords
Inilah cara untuk melakukannya dengan jQuery, lalu:
sumber
.live()
sudah usang, dan juga lambat / tidak perlu. Anda bisa menggunakan.bind()
atau.on()
.Jika Anda ingin mengosongkan semua kotak input terlepas dari jenisnya, maka itu hanya beberapa menit
sumber
Saya mendapat trik termudah untuk mengatur ulang formulir
atau
sumber
Dengan Javascript Anda cukup melakukannya dengan sintaks ini
getElementById("your-form-id").reset();
Anda juga dapat menggunakan jquery dengan memanggil fungsi reset dengan cara ini
$('#your-form-id')[0].reset();
Ingatlah untuk tidak melupakan
[0]
. Anda akan mendapatkan kesalahan berikut jikaJQuery juga menyediakan acara yang dapat Anda gunakan
Saya mencoba dan berhasil.
Catatan: Penting untuk diperhatikan bahwa metode ini hanya mengatur ulang formulir Anda ke nilai awal yang ditentukan oleh server pada pemuatan halaman. Ini berarti jika input Anda ditetapkan pada nilai 'set nilai' sebelum Anda melakukan perubahan acak, bidang akan diatur ulang ke nilai yang sama setelah metode reset dipanggil.
Semoga ini bisa membantu
sumber
di mana
editPOIForm
adalahid
atribut formulir Anda.sumber
#editPOIForm
dan.each()
metode ini tidak masuk akal. Bahkan jika Anda menambahkan id ini ke beberapa bentuk, itu hanya akan mengembalikan salah satunya.$('#editPOIForm').get(0).reset();
Mengapa Anda tidak menggunakannya
document.getElementById("myId").reset();
? ini sederhana dan cantiksumber
Kode yang diuji dan diverifikasi:
Javascript harus disertakan
$(document).ready
dan harus dengan logika Anda.sumber
Solusi yang paling mudah dan terbaik adalah-
$("#form")[0].reset();
Jangan gunakan di sini -
$(this)[0].reset();
sumber
form.reset();
akan mengatur ulang ke nilai-nilai itu, dan tidak menghapus input.Katakanlah jika Anda ingin menghapus bidang dan kecuali tipe akun, dalam kotak dropdown waktu rata-rata akan diatur ulang ke nilai tertentu, yaitu 'Semua'. Bidang yang tersisa harus diatur ulang menjadi kosong yaitu kotak teks. Pendekatan ini akan digunakan untuk menghapus bidang tertentu sebagai persyaratan kami.
sumber
Saya menggunakan ini:
Dan inilah tombol saya:
sumber
Gunakan Kode ini Di mana Anda ingin Memanggil Fungsi Reset Normal oleh jQuery
Dan Tuliskan Fungsi Ini di Luar Situs jQuery pada Document Ready
sumber
Beberapa dari Anda mengeluh bahwa radio dan semacamnya sudah dihapus dari status "dicentang" default ... Yang harus Anda lakukan adalah menambahkan: radio,: pemilih kotak centang ke .not dan masalah diselesaikan.
Jika Anda tidak bisa mendapatkan semua fungsi reset lainnya berfungsi, ini akan berfungsi.
Diadaptasi dari jawaban ngen
sumber
frmID
adalah identifikasi formulirOnSuccess
operasi yang kita sebut fungsi JavaScript dengan nama "ClearInput
"jika Anda melakukan keduanya dengan benar, maka Anda tidak akan dapat menghentikannya dari bekerja ...
sumber
Kode berikut menghapus semua formulir dan bidangnya akan kosong. Jika Anda ingin menghapus hanya formulir tertentu jika halaman memiliki lebih dari satu formulir, harap sebutkan id atau kelas formulir
sumber
Jika saya ingin menghapus semua bidang kecuali jenis akun .. Gunakan yang berikut
sumber
kode yang saya lihat di sini dan pada pertanyaan SO terkait sepertinya tidak lengkap.
Menyetel ulang formulir berarti mengatur nilai asli dari HTML, jadi saya menyatukan ini untuk proyek kecil yang saya lakukan berdasarkan kode di atas:
Tolong beri tahu saya jika saya kehilangan sesuatu atau apa pun dapat diperbaiki.
sumber
Tidak satu pun di atas berfungsi pada kasus sederhana ketika halaman menyertakan panggilan ke kontrol pengguna web yang melibatkan pemrosesan permintaan IHttpHandler (captcha). Setelah mengirim requsrt (untuk pemrosesan gambar) kode di bawah ini tidak menghapus bidang pada formulir (sebelum mengirim permintaan HttpHandler) semuanya berfungsi dengan benar.
sumber
Saya telah menulis plugin jQuery universal:
sumber
Tambahkan tombol reset tersembunyi sebagai berikut
sumber
$ ('form'). submit (function () {
});
sumber