2013-10-06 87 views
1

我的html表格中共有8个文本框。默认显示2个文本框,6个设置为display:none。所有这些文本框用divs(名为fa1fa8)包装。我添加了一个按钮,每次点击后都会显示隐藏的div(从fa3fa8)。表格提交后保留div值

的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

您可以将使用PHP和RETR在数据库中的值即每次访问该页面。 – MaD

回答

1

我不知道如果我理解正确的你,但我过去遇到过类似的问题,我比较容易地解决它。您可以简单地检索countfa的值,然后设置其值。

由于您使用PHP,你可以简单地使用此代码

注意:您使用POST,如果您使用GET然后只需用$_GET

更换$_POST林假设当你到达的部分你的代码打印countfa格,只需使用此代码(IM使用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>"; 
    } 
?> 
+0

这给了我下面的解析错误'语法错误,意外的T_ENCAPSED_AND_WHITESPACE,希望T_STRING或T_VARIABLE或T_NUM_STRING'在'echo““;' – acr

+0

我犯了一个小的输入错误。它的固定。您可以再次复制代码。 (我错误地键入countfa作为facount,对不起D:) –

+0

获取相同的错误。我只试图改变像'代码\t \t \t \t \t \t '; } else { echo''; } ?>'这不给任何解析,但我看到'价值=“$ valueid”'没有取得价值 – acr

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(); 
    }); 
});