Показать сообщение отдельно
  #9 (permalink)  
Старый 14.10.2017, 20:56
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не надо по таким вопросам в личку, форум для этого.

Тут в общем то и знаний JS не нужно, все что из него нужно я прописал. Форма отправляется по тому адресу, который указан ей в атрибуте action. Если так как есть отправить вашу форму, то она будет отправлена на страницу x.html, которая у вас указана по умолчанию. При этом и в списке по умолчанию выбран "товар x.html", что для меня честно сказать полная ахинея. )

Если пользователь выберет в списке "product y", то возникнет событие onchange и вот это, что в нем предписано "this.form.action=this.value", означает: "значение выбранной опции списка (это будет и значением списка) присвоить атрибуту action формы". Если после этого отправить форму (жмахнуть submit), то форма будет отправлена уже по адресу y.html.

То есть при каждой смене выбора в списке изменяется адрес отправления формы (то есть будет открыта соответствующая страница), на который она и будет отправляться.

По уму так список не должен иметь по умолчанию какой-то выбранный товар, а предлагать выбрать и запрещать отправление формы, если не выбрано. Тут уже чуть более больше JS кода будет.
Что еще можно сказать, так это по самой форме:

- зачем имя списку (тоже касается и id, зачем они повтыканы), если оно в качестве значений имеет адреса?

- button requird="email" - это вообще полнейшая глупость.

А что касаемо того, что я написал, ну что тут непонятного? Вот вся ваша форма

<form action="x.html" method="post" id="lead-form" validate>
    <select class="form-control" onchange="this.form.action=this.value">
        <option value="x.html" selected="selected">product x</option>
        <option value="y.html">product y</option>
    </select>
    <input class="form-control" name="email" type="email" placeholder="E-mail" tabindex="2" required="email">
    <input class="form-control" name="first_name" type="text" placeholder="First Name" required>
    <input class="form-control" name="last_name" type="text" placeholder="Last Name" required>
    <button requird="email" class="btn btn-primary btn-lg btn-form">Get Started</button>
</form>


выбирайте в списке и отправляйте ее, на своих страницах которые вы указали принимайте. Рассказывать тут нечего, тут JS кот наплакал.

Последний раз редактировалось laimas, 14.10.2017 в 21:12.
Ответить с цитированием