Rumah > hujung hadapan web > tutorial js > Mendapat id borang. Ia bukan seperti yang anda fikirkan

Mendapat id borang. Ia bukan seperti yang anda fikirkan

Susan Sarandon
Lepaskan: 2024-10-02 18:18:29
asal
547 orang telah melayarinya

Getting form id. It is not what you think

Saya mempunyai kes di mana saya mempunyai borang ini:

<form id="hello">
   <input type="hidden" name="id" />
</form>
Salin selepas log masuk

Dan saya cuba mendapatkan semula Idnya menggunakan javascript:

const form  = document.getElementById("#hello")
console.log(form.id)
Salin selepas log masuk

Tetapi ini menyebabkan pengembalian:

   <input type="hidden" name="id" />
Salin selepas log masuk

HTMLElement sebaliknya. Oleh itu, untuk mengurangkan isu ini saya menggunakan fungsi getAttribute sebaliknya:

const form  = document.getElementById("#hello")
console.log(form.getAttribute('id'))
Salin selepas log masuk

Di mana saya menggunakannya

Pada mulanya difikirkan contoh itu nampaknya isu itu agak tidak relevan. Tetapi dalam kes saya, saya sedang membangunkan perpustakaan utiliti yang HTMLElement diterima sebagai hujah:

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.id
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}
Salin selepas log masuk

Dalam kes saya, saya menggunakan fungsi ini untuk meletakkan logik untuk mendayakan borang dan kerana input tersembunyi dengan id nama adalah sebagai medan input dalam Butang borang saya gagal diambil.

Oleh itu, sebaliknya saya lakukan:

function formEnable(form,enable,resetFeedback=true){

    // checks whether for is an actual form are ommited for simplicity
    const formId = form.getAttribute('id');
    const submitBtn = form.querySelector(`button[type="submit"]`)?? document.querySelector(`button[form="${formId}"][type="submit"]`) ?? document.querySelector(`button[form="${formId}"]`);

   if(!submitBtn){
        throw Error("Unable to enable or disable form")
   }
  // Form Enabling Logic
}
Salin selepas log masuk

Memastikan saya menerima atribut id berkenaan dengan Input dan nama mereka yang wujud dalam borang saya.

Atas ialah kandungan terperinci Mendapat id borang. Ia bukan seperti yang anda fikirkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan