Rumah  >  Soal Jawab  >  teks badan

Javascript submit tidak mengandungi nilai butang submit

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

.
<input type='submit' name='submitDocUpdate' value='Save'/>

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.

P粉957661544P粉957661544362 hari yang lalu500

membalas semua(2)saya akan balas

  • P粉131455722

    P粉1314557222023-10-23 00:29:15

    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/

    balas
    0
  • P粉466290133

    P粉4662901332023-10-23 00:26:28

    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.

    balas
    0
  • Batalbalas