Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   какой то глюк (https://javascript.ru/forum/misc/41236-kakojj-glyuk.html)

him 05.09.2013 10:13

какой то глюк
 
не знаю в какой раздел писать, так что сильно не пинайте.
проблема следующая:
есть html страница, на ней куча различных элементов формы.
флажки, текстовые поля, радио кнопки, и есть обычная кнопка.
на эту кнопку повешен обработчик онклик, который через js собирает содержимое всех полей и шлет на сервер для дальнейшей обработки.
если я открываю закладку в браузере, ввожу адрес этой странички забиваю некие значения формы и нажимаю на кнопку отправить, происходит сброс всех значений которые я ввел на умолчательные. если я ввожу заново данные в формы и нажимаю отправить то все срабатывает и уходит. ну и последующие разы тоже все работает.
то есть, если подвести итог. глюк возникает только после первого нажатия на кнопку отправить, скажем так, после загрузки страницы.

ни кто с таким не сталкивался? да же не знаю в какую сторону смотреть. может есть у кого какие мысли?

ruslan_mart 05.09.2013 10:30

him, код в студию.

him 05.09.2013 11:03

он огого какой длинный!
сейчас натЫкал в js кучу alert-ов (ловушек) и выяснил такую вещь, при нажатии на кнопку скрипт отрабатывается хорошо , даже на экран выводится результат, а вот потом происходит сбрасывание. такое ощущение что страница перезагружается...
какие на то могут быть причины?
теги закрывающиеся проверил в html
также есть подключение:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="my.js"></script>
my.js соответственно это мой скрипт натыканый alert-ами

BETEPAH 05.09.2013 11:05

him,
возможно, онклик срабатывает после онсабмит

him 05.09.2013 18:02

....

BETEPAH 05.09.2013 18:31

похоже, я правильно предположил ;)
зачем Вам сабмит в форме, которая не отправляет ничего?
Ну, если сильно надо, поставьте return false
<input type="submit" name="button1" value="пуск" onclick="s_click(); return false">

или поменяйте тип инпута на тот, который не отправляет

him 05.09.2013 18:32

ответ:
<input type="submit" name="button1" value="пуск" onclick="s_click(); return false;">
правда он не совсем вписывается в мое представление мира......

him 05.09.2013 18:34

как зачем, по кнопке считываются все поля и шлются на сервер, приведенный листинг обрезанный, дабы не захломлять форум.
а Вы быстрее меня сообразили! ;)

him 05.09.2013 18:35

предложите на что заменить
критика приветствуется....

BETEPAH 05.09.2013 18:37

Цитата:

Сообщение от him
правда он не совсем вписывается в мое представление мира......

Почему? можно вообще форму убрать, можно вынести <input type="button" за пределы формы, можно онклик навесить на любой div/img/span/... Вариантов много. А у вас получается, что форма есть, а обработчик формы не задан через action="..."

BETEPAH 05.09.2013 18:39

Цитата:

Сообщение от him
как зачем, по кнопке считываются все поля и шлются на сервер

Это не объясняет наличие сабмита ;) По нажатию на него форма должна обрабатываться, а у вас экшен для нее не задан, поэтому страница и перезагружается

him 05.09.2013 18:56

Цитата:

зачем Вам сабмит в форме, которая не отправляет ничего?
отправляет смотри скрипт... поясните что Вы имели в виду.
Цитата:

Почему?
в моем понимании, онклик это нажатие. при которой происходит обработка события.
а есть еще событие отпускания кнопки. оно у меня не описано. значит на него ни как реагировать не надо.
ну и третье, почему документ перезагрузился????

хотя по пораскинув мозгами по стенам.... это из html на запуск скрипта php через форму, а это у меня не задано, возникает некая ошибка, она приводит к перезагрузке странице, так сказать поиск первоисточника.... как то так?
мда... витьивато...

him 05.09.2013 18:58

что делать, и Вы меня опять опередили...
Цитата:

можно вообще форму убрать,


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