[英]How to keep the button active after page refresh?
I have two buttons that show and hide inputs when one of them selected.我有两个按钮,其中显示它们的一个选择并隐藏输入。 If the form is submitted when the oneway button is selected, the form reloads with an active return button.如果在选择单向按钮时提交表单,则表单将重新加载一个活动的返回按钮。 How do i get the active label(button) to still be active after the page reload/refresh?如何在页面重新加载/刷新后使活动标签(按钮)仍然处于活动状态?
$(document).ready(function() { $("label[name='oneway']").on("click", function() { $(".arrival").hide(); $(".from").removeClass('col-lg-3'); $(".from").addClass('col-lg-4'); $(".to").removeClass('col-lg-3'); $(".to").addClass('col-lg-4'); $(".departure").removeClass('col-lg-3'); $(".departure").addClass('col-lg-4'); $("label[name='return']").removeClass('active'); $(this).addClass('active'); $('#trip').val('0'); }); $("label[name='return']").on("click", function() { $(".arrival").show(); $(".from").removeClass('col-lg-4'); $(".from").addClass('col-lg-3'); $(".to").removeClass('col-lg-4'); $(".to").addClass('col-lg-3'); $(".departure").removeClass('col-lg-4'); $(".departure").addClass('col-lg-3'); $("label[name='oneway']").removeClass('active'); $(this).addClass('active'); $('#trip').val('1'); }); });
<form method="post" action=""> <div class="btn-group btn-group-toggle" data-toggle="buttons"> <label for="oneway" class="btn btn-default " name="oneway">One way</label> <label for="return" class="btn btn-default active" name="return">Return</label> </div> <div class="form-row col-lg-12"> <div class="form-group col-lg-3 from"> <label for="From">From</label> <input type="text" class="form-control autocomplete" id="from" name="from" placeholder="Departure city" value=""> </div> <div class="form-group col-lg-3 to"> <label for="To">To</label> <input type="text" name="to" class="form-control autocomplete" id="to" placeholder="Arrival city" value=""> </div> <div class="form-group col-lg-3 departure"> <label for="DepartureDate">Departure Date</label> <div class="input-group date"> <span class="input-group-addon"><i class="fa fa-calendar"></i></span> <input id="date_added" type="text" name="dd" class="form-control" value=""> </div> </div> <div class="form-group col-lg-3 arrival"> <label for="ArrivalDate">Arrival Date</label> <div class="input-group date"> <span class="input-group-addon"><i class="fa fa-calendar"></i></span> <input id="date_modified" type="text" name="rd" class="form-control" value=""> </div> </div> <div class="form-row col-lg-12"> <button type="submit" name="confirm" class="btn btn-primary btn-lg " id="confirm">Confirm</button> </div> </div> </form>
You can save the state of the button throughout page reloads using sessionStorage
or localStorage
.您可以使用sessionStorage
或localStorage
在整个页面重新加载过程中保存按钮的状态。
sessionStorage:会话存储:
The
sessionStorage
property accesses a session Storage object for the current origin.sessionStorage
属性访问当前源的会话存储对象。sessionStorage
is similar tolocalStorage
;sessionStorage
类似于localStorage
; the difference is that while data inlocalStorage
doesn't expire, data insessionStorage
is cleared when the page session ends .不同的是,localStorage
中的数据不会过期,而sessionStorage
数据会在页面会话结束时被清除。
- Opening a page in a new tab or window creates a new session with the value of the top-level browsing context, which differs from how session cookies work.在新选项卡或窗口中打开页面会创建一个具有顶级浏览上下文值的新会话,这与会话 cookie 的工作方式不同。
More about sessionStorage
here developer.mozilla.org/Window/sessionStorage更多关于sessionStorage
在这里developer.mozilla.org/Window/sessionStorage
localStorage:本地存储:
The read-only
localStorage
property allows you to access a Storage object for the Document's origin;只读的localStorage
属性允许您访问文档来源的 Storage 对象; the stored data is saved across browser sessions .存储的数据跨浏览器会话保存。localStorage
is similar tosessionStorage
, except that while data stored inlocalStorage
has no expiration time , data stored insessionStorage
gets cleared when the page session ends — that is, when the page is closed.localStorage
与sessionStorage
类似,不同之处在于虽然localStorage
中存储的数据没有过期时间,但sessionStorage
存储的数据会在页面会话结束时(即页面关闭时)被清除。
It should be noted that data stored in either
localStorage
orsessionStorage
is specific to the protocol of the page .应该注意,存储在localStorage
或sessionStorage
中的数据特定于页面的协议。The keys and the values are always strings (note that, as with objects, integer keys will be automatically converted to strings).键和值始终是字符串(请注意,与对象一样,整数键将自动转换为字符串)。
More on localStorage
here: developer.mozilla.org/Window/localStorage有关localStorage
更多信息,请访问: developer.mozilla.org/Window/localStorage
Here is the code example :这是代码示例:
$("label[name='oneway']").on("click", function(){
sessionStorage.setItem("btnActive", "oneway");
....
});
$("label[name='return']").on("click", function(){
sessionStorage.setItem("btnActive", "return");
});
let sessionState = sessionStorage.getItem("btnActive");
if( sessionState !== null ) {
if( sessionState == "oneway" ) {
...
} else {
...
}
} else {
...
}
Or using localStorage
:或使用localStorage
:
// set
localStorage.setItem("btnActive", "oneway");
// get
localStorage.getItem("btnActive");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.