Как сформировать запрос(ы) из ссылки(ок) к форме с вызовом выбранной по клику option в select?
Исходные данные: на одной странице длинный список ссылок. Страница A
<ul>
<li><a href="register#registerCard" onClick="registerCard.value='Img10001'">Вариант 1</a></li>
<li><a href="register#registerCard" onClick="registerCard.value='Img10002'">Вариант 2</a></li>
...
<li><a href="register#registerCard" onClick="registerCard.value='Img1000N'">Вариант N</a></li>
</ul>
Страница B = register На другой странице форма с селектом и выбором опций.
<form name="registerCard" id="registerCard">
...
<select name="registerCard" id="registerCard">
<option value="Img10001">Вариант 1</option>
<option value="Img10001">Вариант 2</option>
...
<option value="Img1000N">Вариант N</option>
</select>
</form>
Вопрос: Не удается завязать по клику по определенной ссылке в списке на странице A ( * .php) > вызов страницы B (register.php) с выбором нужной опции в списке select > option. Как это оптимально решить (желательно без лишнего JS), допустим с data-value или иначе.
Как вариант > использовать запросы типа GET > register.php #registerCard?select=Img10003
Почему не отрабатывают такие GET запросы при обращении к форме заявки? В форме указан метод POST для отправки заявок в итоге.
Полагаю метод GET не подойдет, т.к. форма работает с методом POST. Значит лучше использовать передачу данных с помощью data-value > в форму. Вопрос как это правильно организовать между страницами поиска и формы с выбором option в select выше означенной формы заявки.
Ответы (2 шт):
JS:
onClick="document.getElementById('registerCard').value='Img10001'
JQuery:
onClick="$('#registerCard').value='Img10001'
Без лишнего JS:
Во-первых смотрите принцип (где POST, где GET): https://ru.wikipedia.org/wiki/Post/Redirect/Get
Можно вообще <a href="register.php?select=Img10003">.
Часть после # на сервер не идет.
Обращение GET к register.php формирует хтмл с формой.
При формировании можно смотреть selected из $_GET.
Метод у формы -- POST, т. к. регистрация -- действие.
action может быть любой, например do-register.php.
Обработчик POST-а проведет регистрацию и средиректит дальше.
Если POST обрабатывает тот же register.php,
то можно проверять $_SERVER['REQUEST_METHOD'] в самом начале.
А вообще, такое время, на JS поглядывать лучше, а то лишним ...