【问题标题】:Use jQuery to add form fields and PHP Sessions to remember the fields were added使用 jQuery 添加表单字段和 PHP Sessions 来记住添加的字段
【发布时间】:2011-07-15 10:00:34
【问题描述】:

我正在创建一个多页表单,现在我正在向 Stack 专家寻求帮助;

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

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

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

【问题讨论】:

    标签: php jquery session


    【解决方案1】:

    你可以添加输入:

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

    您可以使用 php $_SESSIONs 保存表单数据的先前部分

    表格示例:

    在 php 中你会得到所有的 post(或 get)值:

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

    然后您可以将它们保存在会话中:

    $_SESSION['lastpostedvalues'] = $_POST;
    

    或类似的东西。

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

    【讨论】:

    • 我明白了,您能否举一个从 jquery 生成的输入以及如何将其存储在 Session 中的示例?
    • 已编辑以添加如何将帖子值放入会话中。
    • jquery 代码不包含表单名称或类型变量
    • 我不知道您的表单名称是什么,哈哈。输入你自己的名字:-)
    • 对不起,我的意思是代码中的值“名称”和“类型”,哈哈,我不是指我的表单,我的表单称为表单:D
    【解决方案2】:

    如果有帮助就试试这个

    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/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      • 1970-01-01
      • 2012-08-05
      相关资源
      最近更新 更多