我的html表单中总共有8个文本框。我默认显示2个文本框,6个设置为display:none
。所有这些文本框都包含divs
(名为fa1
到fa8
)。我添加了一个按钮,每次点击都会显示隐藏的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吗?即使提交表格后?
答案 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();
});
});