Как сохранить выбор радиокнопки в форме, если страница перезагружается - PullRequest
0 голосов
/ 11 июня 2019

Добрый день,

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

Если пользователь нажимает кнопку отправки, но не ошибочно ввел что-то неправильное (или пропустил поле), страница перезагружается и отображает ошибку в верхней части. К сожалению, переключатели сброшены, чтобы не выбирать, поэтому пользователь должен снова выбрать параметры, чтобы отобразить соответствующий текст, который необходимо изменить.

Как сделать так, чтобы переключатели не сбрасывались после перезагрузки страницы (т. Е. Выбор будет сохранен)?

Примечание. Я не могу остановить перезагрузку страницы после того, как пользователь нажмет кнопку "Отправить"; это просто способ настройки CMS.

Я пробовал некоторые скрипты и искал в Google, но, похоже, я не могу заставить что-либо работать из-за ограничений древней CMS, с которой я работаю.

<p id="submit">Please select one of the following:<strong class="required" style="color:red">(required)</strong></p><div>

// Вот одна из групп переключателей, которые необходимо сохранить. Вы заметите, что при вызове

они вызывают скрипт для отображения определенного текста
<input type="radio" name="type" id="selection1" onclick="myOwnBehalf()" required> I am submitting this question on my on own behalf.<br/>
<input type="radio" name="type" id="selection2" onclick="onBehalfSomeone()" required> I am making this question on behalf of someone else.<br/>
<input type="radio" name="type" id="selection3" onclick="anon()" required> I would like to be anonymous.<br/>

....

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

1 Ответ

0 голосов
/ 11 июня 2019

Каждый раз, когда вы переходите на новую страницу (или обратно на ту же страницу), все состояние JavaScript теряется.

Это означает, что вам нужно передать старое состояние на новую страницу, так или иначе,Вот несколько способов сделать это:

Это требует использования языка сценариев, например PHP, для ваших страниц:

  • Сеанс PHP (если вы используете язык сценариев PHP)
  • Перемещение по форме POST вместо простой ссылки

Это можно сделать только с помощью JavaScript

  • CGI-переменных в URL-адресе, к которому вы переходите, например, на моей странице.php? choice1 = 3 & choice2 = 5
  • Установить файл cookie и прочитать его
  • HTML5 LocalStorage

(переменные CGI: Как получить значение изпараметры GET? )

...