Странный глюк с кнопкой <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, время: 17:24. |