如何在页面刷新后保留输入单选按钮的状态

How to retain the state of input radio button after page refresh

本文关键字:输入 保留 单选按钮 状态 刷新      更新时间:2023-09-26

我有一个表单,上面有 20 个单选按钮。如果页面上有错误,我需要存储单选按钮的状态(页面将刷新(。我设法让它工作 50%。但是,如果我在第二次刷新时选择不同的单选按钮,它仍将保留第一次提交的状态。

这是我的代码:

var x= $("input[id^='question-']");
  $(x).click(function(){
    localStorage['radios'] = this.checked;
  });
  $(x).prop('checked', localStorage['radios'] == 'true');

任何帮助将不胜感激!

我认为刷新页面后获取值的独特形式是在发送表单后使用 POST 或 GET 发送信息。建议使用 PHP 脚本来处理表单并进行验证。

如果您有任何疑问,可以在此处查看如何捕获表单的信息

您的代码看起来只是一次又一次地覆盖相同的值,无论它用于什么输入,并且还应该使用 change 事件而不是单击。尝试类似(未经测试(的内容:

var $x = $("input[id^='question-']");
// Set localstorage on change event per radio button
$x.on('change', function(){
    localStorage[$(this).attr('name')] = this.checked;
});
// Check all radio buttons on page load against localStorage
$x.each(function(){
    $(this).prop('checked', localStorage[$(this).attr('name')] == 'true');
}