如何记住表单提交时的切换状态-在会话变量中显示/隐藏 - javascript

我正在使用切换链接来显示和隐藏搜索页面上的某些页面内容。在页面加载时,切换开关设置为hide
函数功能很好,但我需要记住表单提交时的切换状态,以便如果用户决定编辑初始搜索,则该状态会被记住。

这是工作功能:

$(document).ready(function(){

   $(".slidingDiv").hide();
   $(".show_hide_search").show();

   $('.show_hide_toggle').on('click', function(e){
       e.preventDefault();

       var self    = this,
           sliding = $(this).closest('div').next('.slidingDiv').slideToggle(function(){
               $($(self).children()[0]).text(function(_,txt) {
                    return txt == "–" ? "+" : "–";
               });
           });
    });
});

和HTML:

<div class="show_hide_toggle">
    <a href="#" class="show_hide_search" id="plus">+</a>    
    <div class="show_hide_search2">More</div>
</div>  

<div class="slidingDiv" style="display: block;">
      <h2>Content One</h2>
</div>

这是我如何记住表单元素的会话(如果有帮助的话):

<?php echo ($_SESSION['save_srch']['name1'] == 'name')?'selected="selected"':'';?>

这是一个JSFiddle:http://jsfiddle.net/Bradg/eBfxB/11/

javascript大神给出的解决方案

似乎您有两种选择。如上面的注释中所述,您可以在切换的点击处理程序中添加一些内容,以对服务器进行AJAX调用,并将该值立即存储在会话中。

但是,您最初的问题是如何将其存储在表单提交(发布)中。如果您不想走AJAX路线,我的建议是为标记添加一个隐藏的输入控件,并为切换状态添加一个true / false值。每次单击切换时,也要切换隐藏控件的值。提交表单时,只需检查隐藏控件的值,然后将其存储在会话中即可。

这种方法的缺点是,如果由于某种原因浏览器在提交表单之前丢失了状态,则您不会立即存储该值。因此,在某些情况下(浏览器崩溃,导航离开),可能不会提交表单,因此不会存储切换的值。因此,您将必须确定哪种方案适合您的方案。

如何从客户端将数据插入数据库? - javascript

我是Web开发的初学者,可以访问cpanel上托管的网站,并且需要对其进行一些更改。这个网站的后端是由蛋糕PHP制作的,我想使用ajax从客户端将一些数据插入其数据库。问题是我不知道如何获取负责插入数据库的PHP文件的URL。参见下面的代码:var xhttp = newXMLHttpRequest(); xhttp.onreadystatechange= …

执行onclick时获得意外令牌 - javascript

我正在使用onclick事件从PHP调用JS函数。这是我的代码:我在一个函数中,因此我需要通过PHP来完成它,因为然后我会返回:$html = '<input type="checkbox" checked value="1" id="setGetSku" name="se…

我如何使用flask从javascript获取变量 - javascript

因此,我按照flask的建议在相应的文件夹中设置了app.py,index.js,index.html。 Index.html在app.py运行时呈现,然后index.html运行index.js,后者从用户那里获取输入数据。我试图发送此输入并将其发送到python,在这里我可以调用API,获取数据并使用它,但是我想不出一种方法来做到这一点。我的app.py…

提交初始化后删除某些帖子数据 - javascript

在初始化提交之后但在将数据发送到处理页面之前,是否可以过滤$ _POST表单数据?我想象过程的方式:提交->收集$ _POST数据->发送数据我想做的事:提交->收集$ _POST数据->删除某些元素->发送数据这样就不必更改处理页面以过滤掉不希望接收的元素了吗? javascript大神给出的解决方案 当然可以,您可以在JS …

无法使用Google登录从Firebase接收“电子邮件”以验证ID令牌 - javascript

在我的网络应用程序中,我正在使用Firebase Google登录来验证用户身份,流程如下在前端,使用户使用firebase sdk登录,获取用户的idtoken并将其发送到服务器服务器使用idtoken验证用户并从idtoken获取电子邮件我正在使用python后端,并且使用google.oauth2.id_token模块来验证令牌并解码令牌问题是,对于少…