首頁 >web前端 >js教程 >取得表單 ID。這不是你想的那樣

取得表單 ID。這不是你想的那樣

Susan Sarandon
Susan Sarandon原創
2024-10-02 18:18:29554瀏覽

Getting form id. It is not what you think

我有一個案例,其中有此表格:

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

我嘗試使用 javascript 檢索其 ID:

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

但這導致返回:

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

改為 HTMLElement。因此,為了緩解這個問題,我使用了 getAttribute 函數:

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

我用過的地方

乍看這個例子似乎與問題無關。但就我而言,我正在開發一個實用程式庫,其中 HTMLElement 作為參數被接收:

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
}

在我的例子中,我使用此函數來放置表單啟用的邏輯,並且因為名稱為 id 的隱藏輸入作為我的表單按鈕中的輸入欄位無法檢索。

因此,我做了:

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
}

確保我收到了有關輸入的 id 屬性及其表單中存在的名稱。

以上是取得表單 ID。這不是你想的那樣的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn