使用jQuery添加表单字段和PHP会话以记住添加的字段

时间:2011-03-14 23:22:08

标签: php jquery session

我正在创建一个多页面的表单,现在我正在咨询Stack guru的一些帮助;

在此页面上,用户可以在页面上添加更多输入字段[type = text]

所以基本上有一个单独的输入“CHILD NAME”然后是一个Add按钮,允许用户添加更多的孩子,如果他们有多个。

我的表单允许你前后移动,表单会记住输入内容,如何让jQuery和php记住表单字段已添加,以便在用户重新访问页面时不隐藏它们? / p>

2 个答案:

答案 0 :(得分:2)

添加输入即可:

$('form').append('<input>',{type: 'text', name: 'input_name'})

您可以使用php $ _SESSIONs

保存表单数据的前一部分

表单示例:

在php中,您将获得所有发布(或获取)值:

$_POST = array ('name1' => 'me', 'name2' => 'you' )...

然后您可以使用以下内容保存这些内容:

$_SESSION['lastpostedvalues'] = $_POST;

或类似的东西。

记得在php文件的顶部有session_start()

答案 1 :(得分:0)

尝试这个,如果有帮助

html代码

<span>

    <span id="childs"></span>

    <input type="text" id="testid" />

    <input type="submit" id="submit" value="Add" />
</span>

jQuery ---

$(document).ready(function(){
$('#submit').click(function(){
    $('#childs').append('<a href="">'+$('#testid').val()+'</a><br />');
    $value=$('#testid').val();
    $.get('somePHPCodewhichaddsToSession.php',{
        data:$values
    },function(data){
        //some staff after the session is add
    });

});
});
/*PHP code to add the sessions*/


if(isset($_GET['data'])){
    $_SESSION['AnyName']=$_GET['data']; //this could be an array to hold all the childern names
     if(isset($_SESSION['AnyName']))
         echo true; //handle this return in your ajax call oncomplete callback
    else
        echo false;
}

/* PHP code to dispaly the childrens*/

//get the array from the session

if(isset($_SESSION['AnyName']){
     get the values and display or do something with them
       $values= $_SESSION['AnyName']
   }

**确保格式化html以满足您的需求

http://jsfiddle.net/tsegay/5VhVp/