Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.05.2012, 02:33
Новичок на форуме
Отправить личное сообщение для kapman Посмотреть профиль Найти все сообщения от kapman
 
Регистрация: 11.05.2012
Сообщений: 7

Не отправялется форма средствами JS
Ну что-то вообще засада.......

Пишу такой код для формы:

Код:
<form id="sendform" name="postform" method="post" action="{S_POST_ACTION}" onsubmit="return FormSubmit()">
....
Пишу такой код для скрипта:

Код:
    function FormSubmit()
    {
       setTimeout(function() {document.getElementById('sendform').submit();}, 8000);
        return false;
    }
В итоге функция как и полагается срабатывает через 8 секунд, но вместо отправки данных форма просто обновляется! Я шоке!!! Что я уже только не перепробовал... И главное, в firebug'e всё ровно... Говорю, форма нормально отправляется только если не юзаешь js для сабмита. Еще отправляется вот так
Код:
    function FormSubmit()
    {
       if ( !confirm( "Отправить форму?" ) ) {
        return false;
       }
    }
Т.е. здесь мы тоже особо не вмешиваемся в процесс отправки, а только делаем запрос на подтверждение...и сразу всё тоже работает!
Я уже начинаю подозревать, что в PHPBB форуме какая-то защита стоит от автосабмита... не зря там в форме есть скрытые поля типа lastclick. В общем, даже не знаю... :wacko:
Ответить с цитированием
  #2 (permalink)  
Старый 13.05.2012, 04:46
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

kapman,
вы пытаетесь рекурсивно вызывать одну и туже функцию, запуская
document.getElementById('sendform').submit();
вы снова вызываете все тот же FormSubmit()
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 13.05.2012, 10:42
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

devote,
метод submit не генерирует событие onsubmit.


Сообщение от kapman
но вместо отправки данных форма просто обновляется!
Что значит "форма просто обновляется"?
Ответить с цитированием
  #4 (permalink)  
Старый 13.05.2012, 12:20
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от Kolyaj
метод submit не генерирует событие onsubmit.
да вы правы, я попутал submit() c onsubmit()
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 13.05.2012, 13:18
Новичок на форуме
Отправить личное сообщение для kapman Посмотреть профиль Найти все сообщения от kapman
 
Регистрация: 11.05.2012
Сообщений: 7

Сообщение от Kolyaj Посмотреть сообщение
devote,
метод submit не генерирует событие onsubmit.



Что значит "форма просто обновляется"?

Ну поля в форме очищаются и всё. Типа отправилось, но естественно никакой отправки и не было, пичем в PHPBB-форумах сразу генерируется сообщение об успешной отправки, а его нет (и нового поста тоже). Не отправляется... Firebug молчит... В общем, отправляется только при обычном нажатии кнопки Отправить, а через document.getElementById('sendform').submit(); или document.forms['form_name'].submit(); или document.forms[0].submit(); ни в какую! Обновляются только поля и всё...
Ответить с цитированием
  #6 (permalink)  
Старый 13.05.2012, 13:36
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Возможно не ту форму отправляете. Возможно серверный скрипт требует именно нажатия на кнопку (тогда имя и значение кнопки уходят на сервер).
Ответить с цитированием
  #7 (permalink)  
Старый 13.05.2012, 18:00
Новичок на форуме
Отправить личное сообщение для kapman Посмотреть профиль Найти все сообщения от kapman
 
Регистрация: 11.05.2012
Сообщений: 7

Меня терзают смутные сомнения насчет некоторых скрытых инпутов:

Код:
<input type="hidden" name="creation_time" value="1336915640" />
<input type="hidden" name="form_token" value="22b09178c8706196a990c6fe0cea8bbc258fa6dd" />

  <fieldset class="submit-buttons">
  	
  	<input type="hidden" name="lastclick" value="1336915639" />
  	<input type="submit" accesskey="k" tabindex="7" name="save" value="Draft" class="button2" />&nbsp; 
  	<input type="submit" tabindex="5" name="preview" value="Preview" class="button1" onclick="document.getElementById('postform').action += '#preview';" />&nbsp;
  	<input type="submit" accesskey="s" tabindex="6" name="post" id="sendp" value="Submit" class="button1 default-submit-action" />&nbsp;

  </fieldset>
Может быть это правда защита у PHPBB форумов?? Какие-то поля не передаются? Если да, то как обойти?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в строке другой подстроки средствами JS YAN Общие вопросы Javascript 13 23.07.2013 09:41
Снимок экрана средствами js css_js Общие вопросы Javascript 1 01.05.2012 17:57
Разбор чужего сайта средствами JS Vit Общие вопросы Javascript 3 05.02.2012 10:52
Поиск текста на web странице средствами JS ацкий Общие вопросы Javascript 5 04.02.2012 13:34
Можно ли средствами JS узнать высоту скрытого элемента? ацкий Общие вопросы Javascript 7 24.08.2011 19:07