Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает e.preventDefault(); (https://javascript.ru/forum/events/69463-ne-rabotaet-e-preventdefault-%3B.html)

DivMan 25.06.2017 15:44

Не работает e.preventDefault();
 
Почему форма отправляется, если я написал e.preventDefault()?

<form method="POST">
  <label><input type="radio" name="chooseAnswer" value="1">Вариант 1</label><br>
  <label><input type="radio" name="chooseAnswer" value="1">Вариант 1</label><br>

  <input type="submit" value="Проверить" name="checkAnswer" onclick="check()">
  <input type="hidden" value="5" name="question-id">
</form>

<script>
function check(e) {
	e.preventDefault();
	console.log(1111);
}
</script>

laimas 25.06.2017 16:11

Цитата:

Сообщение от DivMan
я написал e.preventDefault()

Подумайте для какого объекта это написано, это и есть отчет на вопрос.

Rasy 25.06.2017 16:12

DivMan,
Если регистрируешь событие в атрибуте элемента, то браузер сам предоставляет объект event в обработчике события.

рони 25.06.2017 19:00

DivMan,
onclick="check(event)"

Rasy 25.06.2017 20:09

рони,
Не надо ничего передавать. Интерпретатор переводит строку в функцию и сам передает в аргумент event. Объект event доступен по-умолчанию.

рони 25.06.2017 20:28

Rasy,
не понимаю ваших сообщений в этой теме.

Rasy 25.06.2017 20:46

рони,
<button onclick="foo();">generate event object</button>
<script>
function foo() {
  console.log(event);
}
</script>

рони 25.06.2017 21:25

Rasy,
ReferenceError: event is not defined :) не кросбраузерно

Rasy 25.06.2017 22:00

эх мозилла

Alexandroppolus 26.06.2017 10:08

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


Часовой пояс GMT +3, время: 12:54.