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
Susan Sarandonasal
2024-10-02 18:18:29545semak imbas

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>

Dan saya cuba mendapatkan semula Idnya menggunakan javascript:

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

Tetapi ini menyebabkan pengembalian:

   <input type="hidden" name="id" />

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

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

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
}

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
}

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!

Kenyataan:
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