Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript在页面重新加载后保留值_Javascript_Jquery_Django_Reload - Fatal编程技术网

javascript在页面重新加载后保留值

javascript在页面重新加载后保留值,javascript,jquery,django,reload,Javascript,Jquery,Django,Reload,我有一个一般性问题。我得到了一个用django制作的表单,如果我使用submit,但并非所有数据都正确,或者当缺少必填字段时,页面会跳回默认值。 表单中的值将被保存,但页面布局不会被保存 我的javascript更改布局: $(function(){ $('li.fields').slice(1).hide(); $('ul').on('click', 'li.title', function(){ $(this).next().slideToggle(200)

我有一个一般性问题。我得到了一个用django制作的表单,如果我使用submit,但并非所有数据都正确,或者当缺少必填字段时,页面会跳回默认值。 表单中的值将被保存,但页面布局不会被保存

我的javascript更改布局:

$(function(){
    $('li.fields').slice(1).hide();

    $('ul').on('click', 'li.title', function(){
        $(this).next().slideToggle(200)
    })
});
肖特说,我想保留(联合国)倒塌油田的状态。 有人能告诉我实现这个目标的正确方向吗(javascript新手)

如果你不能使用AJAX(或者不知道如何使用它),你可以在表单中使用隐藏字段

HTML:


更新的Javascript:

$(function(){
    $('li.fields').slice(1).hide();

    $('ul').on('click', 'li.title', function(){
        $(this).next().slideToggle(200);
        var myString = "[ "; // create a string to simulate an Array
        $('ul li.title').each(function() {
            myString += $(this).is(":visible").toString() + ", "; // iterate your list to take the visible values
        });
        myString += " ]"; // finishes the Array
        $("#myHiddenField").val(myString); // populate your hidden field
    })

    // when you get back from a submit, this hidden field will have some values
    if ($("#myHiddenField").val() != "") {
        var arr = eval($("#myHiddenField").val()); // turn the string into an Array
        for (var i = 0; i < arr.length; i++) { // iterate the Array
            if (!arr[i])
                $("ul li.title").eq(i).hide(); // if the Array item is false, hide the respective li
        }
    }
});
$(函数(){
$('li.fields').slice(1.hide();
$('ul')。在('click','li.title',function()上{
$(this.next().slideToggle(200);
var myString=“[”;//创建字符串以模拟数组
$('ul li.title')。每个(函数(){
myString+=$(this).is(“:visible”).toString()+”,“;//迭代列表以获取可见值
});
myString+=“]”;//完成数组
$(“#myHiddenField”).val(myString);//填充隐藏字段
})
//当您从提交返回时,此隐藏字段将具有一些值
if($(“#myHiddenField”).val()!=”){
var arr=eval($(“#myHiddenField”).val();//将字符串转换为数组
对于(var i=0;i
使用
ajax
提交表单。好的,我去看看,还有一部分我需要学习。哈哈哈)。您可以“ajaxify”(不刷新)表单。2). 添加验证以从有效数据创建cookie或会话。为了澄清@JackWilliams注释:这可能意味着两者中的一个或两个都不是。我浏览了一些内容,找到了一个不错的“学习ajax基础知识”教程,但我只找到了一些简短的小技巧,有没有关于学习这方面的好教程的建议?这就是我要推荐的。另外,看看$.ajax()它已经不像以前那么难了。谢谢,我肯定(明天)会试试这个,我认为学习ajax是很有用的。但是非常感谢!
$(function(){
    $('li.fields').slice(1).hide();

    $('ul').on('click', 'li.title', function(){
        $(this).next().slideToggle(200);
        var myString = "[ "; // create a string to simulate an Array
        $('ul li.title').each(function() {
            myString += $(this).is(":visible").toString() + ", "; // iterate your list to take the visible values
        });
        myString += " ]"; // finishes the Array
        $("#myHiddenField").val(myString); // populate your hidden field
    })

    // when you get back from a submit, this hidden field will have some values
    if ($("#myHiddenField").val() != "") {
        var arr = eval($("#myHiddenField").val()); // turn the string into an Array
        for (var i = 0; i < arr.length; i++) { // iterate the Array
            if (!arr[i])
                $("ul li.title").eq(i).hide(); // if the Array item is false, hide the respective li
        }
    }
});