如果重新加载页面,如何在表单上保持单选按钮的选择

时间:2019-06-11 16:31:24

标签: forms radio-button savestate

美好的一天,

我创建的表单的一部分由两组单选按钮组成,这些单选按钮根据选择的按钮显示特定的文本。

如果用户单击“提交”按钮,但没有错误输入(或错过了一个字段),则页面会重新加载并在顶部显示错误。不幸的是,单选按钮被重置为未选择状态,因此用户必须再次选择选项才能显示需要修改的相关文本。

如何做到这一点,以便在页面重新加载后单选按钮不会重置(即,将保存选择)?

注意:用户单击“提交”后,无法停止重新加载页面;这就是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 :(得分:0)

每次导航到新页面(或返回同一页面)时,所有JavaScript状态都会丢失。

这意味着您需要以一种或另一种方式将旧状态传递到新页面。以下是一些方法:

这些要求您在网页上使用PHP之类的脚本语言:

  • PHP会话(如果您使用的是PHP脚本语言)
  • 使用表单POST导航而不是简单的链接

这些可以仅用JavaScript完成

    您导航到的URL中的
  • CGI变量,例如mypage.php?choice1 = 3&choice2 = 5
  • 设置一个cookie,然后读取它
  • HTML5 LocalStorage

(CGI变量:How to get the value from the GET parameters?