«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Получение идентификатора формы. Это не то, что вы думаете

Получение идентификатора формы. Это не то, что вы думаете

Опубликовано 8 ноября 2024 г.
Просматривать:885

Getting form id. It is not what you think

У меня был случай, когда у меня была такая форма:

И я попытался получить его идентификатор с помощью javascript:

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
}

В моем случае я использовал эту функцию для размещения логики для включения формы, и потому что скрытый ввод с идентификатором имени был в качестве поля ввода в моей форме. Не удалось получить кнопку.

Поэтому вместо этого я сделал:

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