Saya memiliki kode kerja yang dapat mengatur ulang formulir saya ketika saya mengklik tombol reset. Namun setelah kode saya semakin panjang, saya menyadari bahwa itu tidak berfungsi lagi.
<div id="labels">
<table class="config">
<thead>
<tr>
<th colspan="4"; style= "padding-bottom: 20px; color:#6666FF; text-align:left; font-size: 1.5em">Control Buttons Configuration</th>
</tr>
<tr>
<th>Index</th>
<th>Switch</th>
<th>Response Number</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<form id="configform" name= "input" action="#" method="get">
<tr><td style="text-align: center">1</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" value="" id="number_one"></td>
<td><input style="background: white; color: black;" type="text" id="label_one"></td>
</tr>
<tr>
<td style="text-align: center">2</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id = "number_two" value=""></td>
<td><input style="background: white; color: black;" type="text" id = "label_two"></td>
</tr>
<tr>
<td style="text-align: center">3</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_three" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td style="text-align: center">4</td>
<td><img src= "static/switch.png" height="100px" width="108px"></td>
<td id="small"><input style="background: white; color: black;" type="text" id="number_four" value=""></td>
<td><input style="background: white; color: black;" type="text" id="label_three"></td>
</tr>
<tr>
<td></td>
<td><input type="submit" id="configsubmit" value="Submit"></td>
</tr>
<tr>
<td><input type="reset" id="configreset" value="Reset"></td>
</tr>
</form>
</tbody>
</table>
</div>
Dan jQuery saya:
$('#configreset').click(function(){
$('#configform')[0].reset();
});
Apakah ada beberapa sumber yang harus saya sertakan dalam kode saya agar .reset()
metode ini berfungsi? Sebelumnya saya menggunakan:
<script src="static/jquery.min.js">
</script>
<script src="static/jquery.mobile-1.2.0.min.js">
</script>
dan .reset()
metode itu berhasil.
Saat ini saya menggunakan
<script src="static/jquery-1.9.1.min.js"></script>
<script src="static/jquery-migrate-1.1.1.min.js"></script>
<script src="static/jquery.mobile-1.3.1.min.js"></script>
Mungkinkah itu salah satu alasannya?
javascript
jquery
forms
reset
yvonnezoe
sumber
sumber
Jawaban:
Anda dapat mencoba menggunakan trigger () Link Referensi
sumber
http://jsfiddle.net/8zLLn/
Taruh di biola JS. Bekerja sebagaimana dimaksud.
Jadi, tidak ada masalah yang disebutkan di atas yang salah di sini. Mungkin Anda mengalami masalah ID yang saling bertentangan? Apakah klik itu benar-benar mengeksekusi?
Sunting: (karena saya karung sedih tanpa kemampuan berkomentar yang tepat) Ini bukan masalah langsung dengan kode Anda. Ini berfungsi dengan baik ketika Anda mengeluarkannya dari konteks halaman yang sedang Anda gunakan, jadi, alih-alih menjadi sesuatu dengan jQuery / javascript & data formulir yang dikaitkan, itu harus berupa sesuatu yang lain. Saya akan mulai membagi dua kode di sekitarnya dan mencoba menemukan di mana itu terjadi. Maksudku, hanya untuk 'memastikan', kurasa kau bisa ...
di fungsi klik dan pastikan itu menargetkan bentuk yang tepat ...
dan jika ya, pasti ada sesuatu yang tidak tercantum di sini.
sunting bagian 2: Satu hal yang dapat Anda coba (jika tidak menargetkannya dengan benar) adalah menggunakan "input: reset" alih-alih apa yang Anda gunakan ... juga, saya sarankan karena bukan target yang salah bekerja untuk mencari tahu apa yang sebenarnya ditargetkan oleh klik. Cukup buka alat pembakar / pengembang, siapa saja Anda, masukkan
dan lihat apa yang muncul. dan kemudian kita bisa pergi dari sana.
sumber
$('#ptest').html("clicked reset")
di klik (fungsi () {}); di mana ia akan ditampilkan "reset diklik" tetapi tidak muncul[0]
memilih elemen pertama. Namun dalam jQuery, ia memilih html elemen yang sebenarnya. Jadi,[0]
memberi Anda html, yang memungkinkan Anda untuk memanggil html, bukan jQuery, metode yang disebutreset
. Lihat jawaban @kevin di bawah untuk informasi lebih lanjut.Menurut posting ini di sini , jQuery tidak memiliki
reset()
metode; tetapi JavaScript asli tidak. Jadi, konversikan elemen jQuery ke objek JavaScript dengan menggunakan:sumber
Ini adalah salah satu hal yang sebenarnya lebih mudah dilakukan dalam Javascript vanilla daripada jQuery. jQuery tidak memiliki
reset
metode, tetapi Elemen HTML Form tidak, sehingga Anda dapat mengatur ulang semua bidang dalam bentuk seperti ini:Jika Anda melakukan ini melalui jQuery (seperti yang terlihat dalam jawaban lain di sini:
$('#configform')[0].reset()
), yang[0]
sedang mengambil elemen bentuk DOM yang sama bahwa Anda akan mendapatkan langsung melaluidocument.getElementById
. Pendekatan terakhir lebih efisien dan lebih sederhana (karena dengan pendekatan jQuery, Anda pertama-tama mendapatkan koleksi dan kemudian harus mengambil elemen dari itu, sedangkan dengan Javascript vanilla Anda hanya mendapatkan elemen secara langsung).sumber
Tombol atur ulang tidak memerlukan skrip sama sekali (atau nama atau id):
dan kamu sudah selesai. Tetapi jika Anda benar - benar harus menggunakan skrip, perhatikan bahwa setiap kontrol formulir memiliki properti formulir yang mereferensikan formulir itu, sehingga Anda bisa melakukannya:
Tetapi tombol reset adalah pilihan yang jauh lebih baik.
sumber
Saya akhirnya memecahkan masalah !! @RobG benar tentang
form
tag dantable
tag. yangform
tag harus ditempatkan di luar meja. dengan itu,bekerja tanpa perlu jquery atau apa pun. klik sederhana pada tombol dan tadaa ~ seluruh formulir di-reset;) brilian!
sumber
form
tag telah ditutup secara otomatis di awaltbody
, tidak termasuk elemen input.Saya menggunakan kode sederhana ini:
sumber
Dengan menggunakan fungsi jquery .closest (elemen) dan .find (...) .
Mendapatkan elemen induk dan mencari anak .
Akhirnya, lakukan fungsi yang dibutuhkan.
sumber
$("#form").find("input[type=text], textarea").val("");
saya melakukan cara iniBaris pertama akan mengatur ulang input formulir
Yang kedua akan mereset select2
Opsional: Anda dapat menggunakan ini jika Anda memiliki jenis yang berbeda yang terdaftar pada acara yang berbeda
sumber
Reset cepat bidang isian dimungkinkan dengan fungsi reset jQuery ini.
ketika Anda mendapat respons sukses maka jalankan kode di bawah ini.
$(selector)[0].reset();
sumber
Anda bisa menambahkan tipe input = reset dengan id = resetform seperti ini
kemudian dengan jquery Anda cukup menggunakan fungsi .click () pada elemen dengan id = resetform sebagai berikut
dan form reset Catatan: Anda juga dapat menyembunyikan tombol reset dengan id = resetform menggunakan css Anda
sumber
Inilah solusi sederhana dengan Jquery. Ini bekerja secara global. Lihatlah kodenya.
Tambahkan kelas yang jelas ke tombol di setiap formulir yang Anda butuhkan untuk meresetnya. Sebagai contoh:
sumber
jQuery tidak memiliki
reset()
metode; tetapi JavaScript asli tidak. Jadi, konversikan elemen jQuery ke objek JavaScript dengan menggunakan:Kami cukup menggunakan kode Javascript
sumber
Cara paling sederhana yang bisa saya pikirkan adalah kuat. Tempatkan di dalam tag formulir.
sumber
Anda dapat menggunakan yang berikut ini.
Kemudian kosongkan formulir:
sumber
Kode Anda harus berfungsi. Pastikan
static/jquery-1.9.1.min.js
ada. Anda juga dapat mencoba kembali kestatic/jquery.min.js
. Jika itu memperbaiki masalah maka Anda telah menunjuk masalah dengan tepat.sumber
configform
). Anda harus melakukan penyelidikan menggunakan konsol. Percobaan pertama$
. Jika Anda menggunakan Chrome, mengetik$
di konsol akan mengaktifkan daftar peka konteks jika jQuery dimuat. Jika Anda mengetik$
dan menekan kembali, itu akan mengevaluasi ke fungsi jika jQuery dimuat. Percobaan selanjutnya$("#configform")
. Klik kanan pada hasilnya dan pilihReveal in Elements panel
.