Подтвердите перед нажатием отправить форму в symfony и javascript

У меня есть форма, построенная с FormBuilderInterface, Мой код выглядит так:

$builder->add('Save',
      SubmitType::class,
            [
                'label' => 'button.save',
                'onSubmit'=> 'return validate()'],
            ]
        );

и мой валид выглядит:

function validate() {
        if (document.getElementById("status").value === "published") {
            return confirm('Are you sure?');
        }
    }

Как запретить сохранение формы, если в подтверждении выбираю cancel? Похоже, подтверждение не работает для меня.

1 ответ

Решение

Попробуйте это. Вы должны вернуть false, чтобы предотвратить отправку формы.

function validate() {
  if (document.getElementById("status").value === "published") {
    return confirm('Are you sure?');
  } else {
    console.log('Not Ready');
    return false;
  }
}
<form action="https://www.google.com" onsubmit="return validate()">

  <input id="status">

  <button type="submit">Submit</button>

</form>

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