Кнопка с именем = submit становится отключенной при использовании проверок загрузочного ремешка

Я сталкиваюсь с очень странной проблемой.

У меня есть простая форма с текстовым полем. У меня есть две кнопки типа отправки. Если я установлю name = submit на одной из этих кнопок кнопки становятся недоступными при нажатии и не публикуются.

Это стандартное поведение в загрузочном ремешке или его можно изменить?

2 ответа

Вы не должны называть какой-либо элемент формы "submit", так как это замаскирует / затмит функцию JavaScript form.submit () и будет недоступно!

Вы можете обратиться к любому полю формы по его имени, используя document["nameOfForm"]["nameOfField"] или же document.nameOfForm.nameOfField, Уже есть свойства формы, такие как document.myForm.name или такие методы, как document.myForm.submit(),

Использование имен свойств формы или методов, которые уже определены браузером, будет мешать любой функциональности, которая зависит от них.

Другие распространенные имена полей, которых следует избегать:

  • действие
  • ENCTYPE
  • метод
  • название
  • цель

Похоже, ваша библиотека JS использует form.submit() отправить форму.

Не используйте свойства формы, такие как submit, reset, length, method, чтобы задать имя или атрибут id формы, элементы поля. Конфликты имен могут вызвать проблему.

Например, вы не можете отправить форму после проверки, если используете submit для имени кнопки Submit:

<button type="submit" name="submit" class="btn btn-primary">Submit</button>

DOMLint имеет полный список правил, чтобы проверить разметку для такого рода проблем.

Справка: предупреждение о конфликте имен в официальной документации.

Другие вопросы по тегам