Adakah yang bisa memberi tahu saya apa yang salah dengan kode ini? Saya mencoba mengirimkan formulir dengan JavaScript, tetapi kesalahan ".submit bukan fungsi" ditampilkan. Lihat di bawah untuk detail lebih lanjut dari kode:
<form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data">
<input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value="">
</form>
<script type="text/javascript">
function submitAction()
{
document.frmProduct.submit();
}
</script>
Saya juga mencoba ini:
<script type="text/javascript">
function submitAction()
{
document.forms["frmProduct"].submit();
}
</script>
Keduanya menunjukkan kepada saya kesalahan yang sama :(
javascript
html
dom
submit
Jin Yong
sumber
sumber
Jawaban:
berarti Anda menamai tombol kirim Anda atau elemen lain
submit
. Ubah nama tombol menjadibtnSubmit
dan panggilan Anda akan bekerja secara ajaib.Saat Anda memberi nama tombol kirim, Anda menimpa
submit()
fungsi pada formulir.sumber
#submit
, Anda bisa mendapatkan sekitar itu dengan mencuri bentuk contoh ini lainsubmit()
metode, misalnya:document.createElement('form').submit.call(document.frmProduct)
.EDIT: Saya tidak sengaja bertukar id
sumber
Pastikan tidak ada formulir lain dengan nama yang sama dan pastikan tidak ada nama = "kirim" atau id = "kirim" di formulir.
sumber
Jika Anda tidak memiliki kesempatan untuk berubah,
name="submit"
Anda juga dapat mengirimkan formulir dengan cara ini:sumber
HTMLFormElement.prototype.submit.call(form)
juga bekerjaSaya memiliki masalah yang sama ketika saya sedang membuat aplikasi MVC menggunakan halaman master. Sudah mencoba mencari elemen dengan 'kirim' sebagai nama seperti yang disebutkan di atas tetapi bukan itu masalahnya.
Untuk kasus saya, ini membuat beberapa tag pada halaman saya sehingga ada beberapa masalah yang merujuk pada formulir yang benar.
Untuk mengatasinya, saya akan membiarkan tombol menangani objek formulir mana yang akan digunakan:
dan dengan js:
sumber
Topik ini sudah memiliki banyak jawaban, tetapi yang paling berhasil (dan paling sederhana - satu baris!) Bagi saya adalah modifikasi dari komentar yang dibuat oleh Neil E. Pearson dari 21 April 2013:
Modifikasi saya untuk metodenya, dan apa yang berhasil untuk saya:
document.createElement('form').submit.call(document.getElementById(frmProduct));
sumber
memberikan elemen bentuk nama kirim akan bayangan sederhana properti kirim. pastikan Anda tidak memiliki elemen formulir dengan nama kirim dan Anda harus dapat mengakses fungsi kirim dengan baik.
sumber
Bahkan, solusinya sangat mudah ...
Asli:
Larutan:
sumber
Anda harus menggunakan kode ini:
sumber
Apa yang saya gunakan adalah
Hanya karena semuanya tidak berfungsi.
sumber
Solusi bagi saya adalah mengatur atribut "form" dari tombol
atau js:
sumber
Solusi yang memungkinkan -
1.Pastikan Anda tidak memiliki elemen lain dengan nama / id yang dikirimkan.
2. Coba panggil fungsi sebagai
onClick = "return submitAction();"
3.
document.getElementById("form-name").submit();
sumber
Anda dapat mencoba
Apakah Anda tidak memiliki lebih dari satu formulir dengan nama yang sama?
sumber
Gunakan getElementById:
sumber