我有一個案例,其中有這種形式:
我嘗試使用 javascript 檢索其 Id:
const form = document.getElementById("#hello") console.log(form.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 屬性及其表單中存在的名稱。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3