Автозаполнение и отправка формы

Тема в разделе "JavaScript", создана пользователем silmarion, 16 апр 2014.

Модераторы: ZiX
  1. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Привет всем, ребят, подскажите, на сайте у меня есть форма из нескольких пунктов, хочу сделать несколько блоков-ссылок, чтобы при нажатии на них форма заполнялась предустановленными значениями и отправлялась

    Подскажите решение или ссылку на него
     
  2. worldx

    worldx Создатель

    Регистр.:
    12 май 2008
    Сообщения:
    20
    Симпатии:
    2
    Что мешает заполнить с помощью jquery или простого javascript? Cкрипт пишется за несколько минут... Так же, можно подумать над такой идеей.
     
  3. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    В общем дело обстоит так, есть 1 форма, расширенная, для поиска авиабилетов, поля куда и откуда заполняются как раз autocomplete, иначе не отправляется она.

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

    Вертел уже и так и так, копаю сейчас в сторону варианта передачи заполненных (hidden) данных из 1 формы в другую при нажатии submit, c последующей отправкой первой формы.

    Но что-то пока не получается особо, продублировал первую форму, все нужные поля скрыл в type="hidden"
    Но что-то видимо делаю не так, потому что кнопка второй формы нажимается только после того как я заполню первую(((

    Первая форма


    Вторая форма

     
  4. worldx

    worldx Создатель

    Регистр.:
    12 май 2008
    Сообщения:
    20
    Симпатии:
    2
    С hidden плохая задумка... Ну как пример, раз используете jquery - прочтите про post и get. Это простейший способ решить проблему, но вам явно придется немного разобраться.
     
  5. alffcpu

    alffcpu Создатель

    Регистр.:
    23 окт 2013
    Сообщения:
    22
    Симпатии:
    56
    Здравствуйте,

    Лично я бы сделал как-то так:

    Код:
    <p>
       <a href="#" data-src="ОТКУДА" data-dst="КУДА" class="favorite_link">Мыршрут ОТКУДА - КУДА</a>
    </p>
    
    <script>
    // Это лучше после jQuery(document).on("ready" ... расплоложить
    jQuery(".favorite_link").on("click", function (e) {
       e.preventDefault();
       var data = jQuery(this).data();
       jQuery('#searchForm [name="src"]').val(data["src"]);
       jQuery('#searchForm [name="dst"]').val(data["dst"]); //в ссылку можно больше данных закладывать и тут добавить их добавление в форму.
       jQuery('#searchForm').submit();
    });
    </script>
    
    Ну те в саму ссылку вписываем нужные нам параметры и при клике на нее берем их, после чего переносим в нужную форму (#searchForm) и далее ее сабмитим.

    Таким образом при клике на ссылку мы получаем сабмит формы с заполненными данными.
     
    silmarion нравится это.
  6. silmarion

    silmarion

    Регистр.:
    21 июн 2012
    Сообщения:
    195
    Симпатии:
    19
    Спасибо тебе добрый человек:yahoo: а то я уже :alko:

    Не могу единственное понять как переставлять галочки в одну сторону, туда и обратно?
     
    Последнее редактирование: 18 апр 2014
  7. worldx

    worldx Создатель

    Регистр.:
    12 май 2008
    Сообщения:
    20
    Симпатии:
    2
    Для чекбокса: поставить
    jQuery('#searchForm [name="myCheckbox"]').attr("checked","checked");
    убрать
    jQuery('#searchForm [name="myCheckbox"]').removeAttr("checked");
     
    silmarion нравится это.
  8. alffcpu

    alffcpu Создатель

    Регистр.:
    23 окт 2013
    Сообщения:
    22
    Симпатии:
    56
    Да вот выше верно написано, если касаться того что я дал то я бы для добавил:

    Код:
    //при условии что например <a href="#" data-oneway="Y">В одну сторону</a> - (к примеру для чекбокса или радио кнопки мы выставляем параметр, а если он в ссылке не указан значит и чекбокс не устанавливаем, а для верности его вообще сбрасываем.)
    
    if (typeof data["oneway"] !== "undefined") jQuery('#searchForm [name="oneway"]').attr("checked","checked");
    else jQuery('#searchForm [name="oneway "]').removeAttr("checked");
    
     
    Последнее редактирование: 20 апр 2014
    silmarion нравится это.