HTML-форма onsubmit = "return false;" не работает - PullRequest
0 голосов
/ 24 мая 2019

Пожалуйста, посмотрите на следующий фрагмент https://jsfiddle.net/simbunch/1kvfg7h0/3/

Как видите, скрипт использует чистый JS. Оказывается, onsubmit="return false" не работает, когда форма выбирается с использованием чистого JS, тогда как если я изменю код отправки на $('#myform').submit(), то onsubmit работает.

Моя проблема в том, что я не могу редактировать часть скрипта (среда CMS). То, что я хочу сделать, это в основном остановить отправку формы. Заранее спасибо!

-edit- Проблема, похоже, связана с Firefox. Фрагмент работает как положено в Chrome.

Ответы [ 2 ]

1 голос
/ 24 мая 2019

Вы можете выполнять функции только в атрибуте onsubmit тега form, а возвращение false ничего не даст. Вы можете использовать event.preventDefault () здесь.

попробуйте что-то вроде этого ниже

<form id="myform" onsubmit="function (e) { e.preventDefault(); } ">
1 голос
/ 24 мая 2019

Возвращение false - это соглашение JQuery.Он не работает в ванильном Javascript.

Чтобы добиться аналогичного эффекта, вам нужно использовать аргумент "e", который передается в ваш обработчик событий, и вызывать его методы stopPropagation или preventDefault.Но так как в атрибуте onsubmit нет никаких аргументов, я бы даже не подумал, что это возможно даже из такого атрибута.

Однако этот ответ ( Событие доступа для вызоваПользовательская функция, происходящая из атрибута onclick тега ), предлагает способ сделать это.Я лично не пробовал это так, YMMV.

...