Tidak ada yang namanya pertanyaan bodoh, jadi di sini kita mulai: Apa perbedaan antara <input type='button' />
dan <input type='submit' />
?
Tidak ada yang namanya pertanyaan bodoh, jadi di sini kita mulai: Apa perbedaan antara <input type='button' />
dan <input type='submit' />
?
Jawaban:
<input type="button" />
tombol tidak akan mengirimkan formulir - mereka tidak melakukan apa pun secara default. Mereka umumnya digunakan bersama dengan JavaScript sebagai bagian dari aplikasi AJAX.
<input type="submit">
tombol akan mengirimkan formulir di mana pengguna mengkliknya, kecuali jika Anda menentukan sebaliknya dengan JavaScript.
'Tombol' hanya itu, sebuah tombol, di mana Anda dapat menambahkan fungsionalitas tambahan menggunakan Javascript. Jenis input 'kirim' memiliki fungsi default untuk mengirimkan formulir yang ada di dalamnya (meskipun, tentu saja, Anda masih dapat menambahkan fungsionalitas tambahan menggunakan Javascript).
Tombol tidak akan mengirimkan formulir sendiri. Ini adalah tombol sederhana yang digunakan untuk melakukan beberapa operasi dengan menggunakan javascript sedangkan Kirim adalah jenis tombol yang secara default mengirimkan formulir setiap kali pengguna mengklik tombol kirim.
IE 8 sebenarnya menggunakan tombol pertama yang ditemui atau tombol. Alih-alih dengan mudah menunjukkan mana yang diinginkan dengan menjadikannya tipe input = kirim pesanan pada halaman sebenarnya signifikan.
Juga harus disebutkan bahwa input bernama type = "submit" juga akan dikirimkan bersama dengan field bernama form lainnya sementara input type bernama "button" tidak akan.
Dengan kata lain, dalam contoh di bawah ini, input bernama name=button1
TIDAK AKAN disampaikan sementara input bernama name=submit1
AKAN dikirimkan.
Contoh formulir HTML (index.html):
<form action="checkout.php" method="POST">
<!-- this won't get submitted despite being named -->
<input type="button" name="button1" value="a button">
<!-- this one does; so the input's TYPE is important! -->
<input type="submit" name="submit1" value="a submit button">
</form>
Skrip PHP (checkout.php) yang memproses tindakan formulir di atas:
<?php var_dump($_POST); ?>
Tes di atas pada mesin lokal Anda dengan membuat dua file di folder bernama / tmp / test / lalu jalankan server web PHP bawaan dari shell:
php -S localhost:3000 -t /tmp/test/
Buka browser Anda di http: // localhost: 3000 dan lihat sendiri.
Orang akan bertanya-tanya mengapa kita perlu mengirimkan tombol bernama? Itu tergantung pada skrip back-end. Sebagai contoh, plugin WordPress WooCommerce tidak akan memproses halaman Checkout yang diposting kecuali Place Order
tombol bernama juga dikirimkan. Jika Anda mengubah jenisnya dari tombol kirim ke maka tombol ini tidak akan dikirimkan dan dengan demikian formulir Checkout tidak akan pernah diproses.
Ini mungkin detail kecil tapi Anda tahu, iblis ada dalam detailnya.
<input type="button">
dapat digunakan di mana saja, tidak hanya dalam bentuk dan mereka tidak mengirimkan formulir jika mereka dalam satu. Jauh lebih cocokJavascript
.
<input type="submit">
harus digunakan hanya dalam bentuk dan mereka akan mengirim permintaan (baik GET atau POST) ke URL yang ditentukan. Mereka tidak boleh diletakkan di tempat HTML mana pun.
W3C memperjelas, tentang spesifikasi tentang elemen Tombol
Tombol dapat dilihat sebagai kelas umum untuk semua jenis Tombol tanpa perilaku default.
type='Submit'
diatur untuk meneruskan & mendapatkan nilai pada BACK-END (PHP, .NET dll).
type='button'
akan mencerminkan perilaku tombol normal.