Странный глюк с кнопкой <button>
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var num = 0;
function count(){
return ++num;
}
</script>
</head>
<body>
<form>
<button onclick="alert(count())">button</button>
</form>
</body>
</html>
При каждом вызове count(), переменная num должна увеличиваться на единицу, но именно в данном примере этого не происходит. Однако, если тег <button> сменить любым другим тегом, или просто вынести его за пределы формы - все работает! Как объяснить причину такого поведения? |
Цитата:
Цитата:
|
torrius,
форма при клике отправляется -- страница обновляется либо остановите всплытие клика <button onclick="alert(count());return false"> либо отмените отправку формы <form onsubmit="return false"> |
Буду благодарен, если объясните сакральную роль <form>, и уж заодно: почему работает без нареканий в другом варианте?
<form> <input onclick="alert(count())" type="button" value="button" /> </form> |
Цитата:
Цитата:
<form>
<button>button</button>
</form>
<script>
alert(document.querySelector('button').type)
</script>
|
Спасибо, понял! :cray: )))
Не знал, что <button> как и <input type="submit"> так же отправляет форму ))) Нда.... |
|
Еще раз спасибо, за оперативный исчерпывающий ответ и за ссылку на мануал :)
|
| Часовой пояс GMT +3, время: 00:18. |