表单提交后保留div值

时间:2013-10-06 05:52:27

标签: javascript php jquery html

我的html表单中总共有8个文本框。我默认显示2个文本框,6个设置为display:none。所有这些文本框都包含divs(名为fa1fa8)。我添加了一个按钮,每次点击都会显示隐藏的div(从fa3命名为fa8)。

html代码:

<input  type="hidden" id="countfa" name="countfa" value="3" readonly>
<button type="button" onClick="AddNewFa();" id="addfa" > + Add New FA </button>

我使用下面的javascript来听取点击和计数并显示隐藏的divs

function AddNewFa() 
    {
        var facount = parseInt($('#countfa').val(),9) ;
        if( facount < 9)
            {
                facount = facount+1;

                for(i=3;i<9;i++)
                {
                    if( i<facount )
                        $('#fa'+i).slideDown("fast");
                    else
                        $('#fa'+i).slideUp("fast"); 

                }
                $('#countfa').val(facount);  

            }
             } 

我在这里面临的问题是在表单提交countfa值更改回其默认值3之后。因此,如果我在单击按钮countfa之后显示表单提交之前显示所有隐藏的div是8,表格提交后将再次为3。无论如何,我可以将countfa值保持为8吗?即使提交表格后?

2 个答案:

答案 0 :(得分:1)

我不确定我是否理解正确,但过去我遇到了类似的问题而且我很容易解决。您只需检索countfa的值,然后设置其值即可。

由于您使用的是php,因此您只需使用此代码

即可

注意:我假设您使用的是POST,如果您使用的是GET,那么只需将$_POST替换为$_GET

当你到达打印countfa div的代码部分时,只需使用此代码(我假设你使用html并将引入php内联。否则只需删除<?php ?>标签

<?php

    if(isset($_POST['countfa'])){
     echo "<input  type=\"hidden\" id=\"countfa\" name=\"countfa\" value=\"$_POST['countfa']\" readonly>";
    }else{
     echo "<input  type=\"hidden\" id=\"countfa\" name=\"countfa\" value=\"3\" readonly>";
    }
?>

答案 1 :(得分:0)

如果存储了以前的值,您可以将值存储在browser local storage中并在页面加载后检查,如果是这种情况,则将其恢复。

以下是最小的工作示例:http://jsfiddle.net/C5Fe7/

$(function () {
    if (localStorage['countfa']) {
        $('#countfa').val(localStorage['countfa']);
    }

    $('#addfa').click(AddNewFa);
    $('form').submit(function () {
       localStorage['countfa'] = $('#countfa').val();
    });
});