[Как] Отправка html-формы без перехода на новую страницу

Тема в разделе "Другие языки", создана пользователем muzshura, 20 ноя 2008.

Статус темы:
Закрыта.
Модераторы: Цукер
  1. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Ну все вы знаете, что когда делаешь сабмит формы, то пользователь переходит на страницу указанную в action.

    Мне нужно несколько форм засабмитить на одной странице, естественно не хочется каждый раз нажимать кнопку назад в браузере.

    Подскажите, как мне хитро вывернуться, чтобы это обойти? :)
     
  2. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Это на своём сайте или чужом?
     
    muzshura нравится это.
  3. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Своем.....
     
  4. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    3-и варианта:
    - AJAX
    - сабмит на эту же страницу
    - сабмит куда угодно с редиректом назад после обработки.
     
    muzshura нравится это.
  5. olen

    olen Постоялец

    Регистр.:
    30 окт 2007
    Сообщения:
    128
    Симпатии:
    33
    А почему не сделать одну форму?
     
    muzshura нравится это.
  6. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    А поподробнее кто-нибудь?

    Перезагрузка страницы в моем случае худшее зло :(
     
  7. PHP_Master

    PHP_Master

    Регистр.:
    3 фев 2008
    Сообщения:
    2.647
    Симпатии:
    590
    Подробнее расскажет гугл.
     
    muzshura нравится это.
  8. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Более длинный пост-запрос может "не пройти" (спутниковый инет). Если что-то где-то зависнет или глюканет, то будет "ОГО-ГО" (опасно). Придется как-то исхитряться с javascript, чтобы форма заполнялась только нужными "под-формами" (не все формы мне нужно сабмитить, но все они однотипны). Придется дописывать обработчик формы, чтобы он разъединил большую форму на малые.
     
  9. Liver

    Liver

    Регистр.:
    24 сен 2008
    Сообщения:
    316
    Симпатии:
    91
    Ничего опасного от ОГО-ГО не будет. Размер даже большой формы просто ничтожен по сравнению с передачей файлов. И пока весь запрос не уйдет на сервер, он ничего не будет делать. Там в хидере указыавется размер отправляемых данных. Так что пока они не придут (обрыв связи) ничего не выполнится.
    Наоборот отсылка формы по частям труднее. Нужно будет вести транзакцию через сессию и решать, что делать, если текущая транзакция не закончилась, а уже началась вторая конфликтующая.

    Это точно новичкам не по зубам.
     
    muzshura нравится это.
  10. muzshura

    muzshura Постоялец

    Регистр.:
    27 фев 2008
    Сообщения:
    74
    Симпатии:
    3
    Может быть теоретически вы правы, но практически длинный запрос через спутник имеет свойство размножения, то есть я отправляю длинный ответ в форум, а он там постится раза 2-3. Если размер запроса превышает 1кб, то как правило страницу-ответ я просто не получаю и ничего не происходит.

    На данный момент нет частей, есть 100 форм на одной странице и нет желания их объединять. После сабмита я сразу вижу, чем закончилась операция, программные конфликты в моей ситуации исключены на 100%
     
Статус темы:
Закрыта.