2

我的 html 表单中共有 8 个文本框。默认情况下,我显示 2 个文本框,其中 6 个设置为display:none。所有这些文本框都用divs(命名fa1fa8)包裹。我添加了一个按钮,该按钮将在每次单击时显示隐藏的 div(从fa3to命名)。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 之后。因此,如果我在单击按钮后在表单提交之前显示所有隐藏的 div,则countfa值为 8,而在表单提交后,它将再次为 3。无论如何我可以将countfa值保持为 8 吗?即使在表单提交之后?

4

2 回答 2

2

我不确定我是否理解正确,但我过去遇到过类似的问题,我很容易解决。您可以简单地检索 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>";
    }
?>
于 2013-10-06T07:00:13.107 回答
0

您可以将值存储在浏览器本地存储中,并在页面加载后检查是否存储了以前的值,如果是这种情况则恢复它。

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

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

    $('#addfa').click(AddNewFa);
    $('form').submit(function () {
       localStorage['countfa'] = $('#countfa').val();
    });
});
于 2013-10-06T06:08:55.123 回答