Я использую required
для первой проверки перед отправкой формы.
<form action="myform.php">
Foo: <input type="text" name="someField" required="required">
<input type="submit" value="submit">
<input type="submit" value="ignore">
</form>
Проблема в том, что у меня есть кнопка «игнорировать», которая также отправляет форму, а внутренняя логика затем устанавливает правильное состояние в БД. В этом случае (игнорировать) проверка не требуется (потому что нет необходимости заполнять поле «Foo»).
Как лучше всего справиться с двумя сценариями?
- Я знаю, что могу отказаться от «требуется» и выполнить проверку где-нибудь еще (backend / JavaScript). Ищу способ сохранить «необходимое».
- Я мог бы использовать Js
onclick
для сценария кнопки игнорирования и удалить атрибут непосредственно перед отправкой формы (https://stackoverflow.com/a/13951500/356726).
Но на самом деле ищу что-то умнее ....
--- Редактировать ---
Да, дубликат обязательного атрибута HTML5
$('form').clone().find(':required').prop('required', false).closest('form').submit();
, а исходныйform
останется нетронутым. Никогда не пробовал закодировать одну строчку, это просто для того, чтобы дать вам представление. - person SubjectDelta   schedule 19.03.2020