”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 获取表单 ID。这不是你想的那样

获取表单 ID。这不是你想的那样

发布于2024-11-08
浏览:755

Getting form id. It is not what you think

我有一个案例,其中有这种形式:

我尝试使用 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 属性及其表单中存在的名称。

版本声明 本文转载于:https://dev.to/pcmagas/getting-form-id-it-is-not-what-you-think-4ac?1如有侵犯,请联系[email protected]删除
最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3