Nah ini bukan soalan tetapi hanya untuk maklumat saya (kerana saya boleh memikirkan kira-kira 4 penyelesaian yang berbeza untuk menjadikannya berfungsi. Walau bagaimanapun saya mempunyai borang (tiada yang istimewa) tetapi butang hantar mempunyai kaitan dengan nilai tertentu
.Selepas hantar borang, saya semak nama.
if(isset($_POST['submitDocUpdate'])){ //do stuff
Namun, suatu ketika saya cuba menghantar borang melalui Javascript dan bukannya butang hantar.
document.getElementById("myForm").submit();
Semuanya berfungsi dengan baik kecuali 1 masalah. Apabila saya melihat nilai $_POST yang diserahkan melalui kaedah javascript, ia tidak termasuk SubmitDocUpdate. Saya mendapat semua nilai lain borang tetapi bukan nilai butang hantar.
Seperti yang saya katakan, saya boleh memikirkan beberapa cara untuk mengatasinya (menggunakan pembolehubah tersembunyi, menyemak isset pada pembolehubah borang lain, dll.), tetapi saya hanya tertanya-tanya sama ada ini adalah tingkah laku yang betul untuk Hantar() kerana daripada Ini nampaknya tidak begitu intuitif kepada saya. Terima kasih terlebih dahulu.
Gunakan jQuery 1.0 atau lebih tinggi:
$('input[type="submit"]').click();
Saya sebenarnya sedang menyelesaikan masalah yang sama apabila saya terjumpa siaran ini. click() tanpa sebarang parameter mencetuskan acara klik pada mana-mana elemen yang anda pilih:http://api.jquery.com/click/
Ya, ini adalah kelakuan yang betul
HTMLFormElement.submit()
Sebab nilai butang hantar tidak dihantar ialah borang HTML direka untuk menghantar nilai butang hantar yang diklik (atau diaktifkan). Ini membenarkan berbilang butang serah setiap borang, contohnya dalam senario di mana anda memerlukan tindakan "pratonton" dan "simpan".
Memandangkan anda menyerahkan borang secara pengaturcaraan, tiada tindakan pengguna yang jelas pada butang hantar tunggal, jadi tiada apa-apa yang dihantar.