Bagaimana saya bisa mendapatkan nilai formulir HTML untuk diteruskan ke JavaScript?
Apakah ini benar? Skrip saya mengambil dua argumen satu dari kotak teks, satu dari kotak tarik-turun.
<body>
<form name="valform" action="" method="POST">
Credit Card Validation: <input type="text" id="cctextboxid" name="cctextbox"><br/>
Card Type: <select name="cardtype" id="cardtypeid">
<option value="visa">Visa</option>
<option value="mastercard">MasterCard</option>
<option value="discover">Discover</option>
<option value="amex">Amex</option>
<option value="diners">Diners Club</option>
</select><br/>
<input type="button" name="submit" value="Verify Credit Card" onclick="isValidCreditCard(document.getElementById('cctextboxid').value,document.getElementById('cardtypeid').value)" />
</body>
javascript
html
pengguna377419
sumber
sumber
Jawaban:
HTML:
JS:
sumber
nameValue
ini adalah nilai default dan bukan yang dimasukkan pengguna.Jika Anda ingin mengambil nilai formulir (seperti yang akan dikirim menggunakan HTTP POST), Anda dapat menggunakan:
JavaScript
form-serialize ( https://code.google.com/archive/p/form-serialize/ )
jQuery
sumber
FormData
sendiri tidak melakukan apa-apa .. Anda masih perlu mendapatkan nilai dari formulir.FormData.entries()
untuk mengambil nilainya. Selain itu,FormData.entries()
tidak tersedia di Safari, Explorer, atau Edge. developer.mozilla.org/en-US/docs/Web/API/FormDataformData.entries()
, itu tergantung apa yang Anda cari. Jika Anda mencari nilai dari satu bidang, Anda dapat menggunakanformData.get(name)
. Referensi: get () .FormData
menampilkan apa pun di Chrome.Berikut adalah contoh dari W3Schools:
Demo dapat ditemukan di sini .
sumber
var obj = {};
kevar obj = [];
.obj
, terlepas dari mana yang dipilih. Masalahnya ditunjukkan di sini (pilih 'Opsi 1') w3schools.com/code/tryit.asp?filename=GEZXJXBBI7AWdocument.forms
akan berisi berbagai formulir di halaman Anda. Anda dapat mengulang formulir ini untuk menemukan formulir spesifik yang Anda inginkan.Setiap formulir memiliki larik elemen yang kemudian dapat Anda putar untuk menemukan data yang Anda inginkan. Anda juga harus dapat mengaksesnya dengan nama
sumber
5 sen saya di sini,
form.elements
yang memungkinkan Anda untuk menanyakan setiap bidang berdasarkan ituname
, tidak hanya dengan iterasi:sumber
Memperluas ide Atrur Klesun ... Anda bisa mengaksesnya dengan namanya jika Anda menggunakan getElementById untuk mencapai formulir. Dalam satu baris:
Saya menggunakannya seperti itu untuk tombol radio dan bekerja dengan baik. Saya kira itu sama di sini.
sumber
Ini adalah contoh yang dikembangkan dari https://stackoverflow.com/a/41262933/2464828
Mempertimbangkan
Mari kita asumsikan kita ingin mengambil input nama
formula
. Ini bisa dilakukan dengan mengoperevent
dionsubmit
lapangan. Kita kemudian dapat menggunakanFormData
untuk mengambil nilai dari bentuk yang tepat ini dengan mereferensikanSubmitEvent
objeknya.Kode JavaScript di atas kemudian akan mencetak nilai input ke konsol.
Jika Anda ingin mengulang nilainya, misalnya, dapatkan semua nilainya, lalu lihat https://developer.mozilla.org/en-US/docs/Web/API/FormData#Methods
sumber
Beberapa serializers formulir yang mudah digunakan dengan dokumentasi yang baik.
Dalam urutan bintang Github,
jquery.serializeJSON
jquery-serialize-object
form2js
bentuk-serialisasi
sumber
Silakan coba ubah kode seperti di bawah ini:
sumber
Solusi cepat untuk membuat serial formulir tanpa perpustakaan apa pun
sumber
sumber