动态创建的表单输入+ PHP变量

时间:2016-10-19 21:51:56

标签: php jquery html forms

我的html表单具有通过jQuery生成的可重复输入。我通过PHP $ _sessions为所有静态输入保存用户的输入值。这样,如果用户在提交后导航回表单页面,则会保存其值。我不确定如何使用动态创建的字段来实现这一点。

这是我的表单预览:

  1. 如果他们有孩子的用户复选框
  2. 如果为true,则显示两个输入:Child-Name和Child-DOB。
  3. 用户可以单击加号按钮为每个孩子添加额外的行。
  4. 目标,将$ _Session用于存储在value属性中的动态创建的字段。

    要求jQuery添加其他行:https://gist.github.com/anonymous/3273a19ca2f6f75a16befeec5c87b718

    <div class="child-wrap row">
        <div class="col s12">
            <span class="child-count">Child 1</span>
        </div>
        <div class="col s12 m5">
            <label for="child-name">Name</label>
            <input name="child[0][name]" value="<?php echo $_SESSION['child_name'][0]; ?>" id="child-name" type="text">
        </div>
         <div class="col s12 m5">
            <label for="child-dob">DOB</label>
            <input name="child[0][dob]" value="<?php echo $_SESSION['child_dob'][0]; ?>" id="child-dob" type="date" class="datepicker">
        </div>
        <!-- ***************************
        * Dynamic rows are added here 
        **************************** -->
        <div class="added-child-wrap">
            <div class="col s12">
                <div class="child-count">
                    <span>Child 2</span>
                    <a href="#" class="remove_field hide-on-large-only">
                        <i class="material-icons">remove_circle_outline</i>
                    </a>
                </div>
            </div>
            <div class="col s12 m5">
                <label for="child-name1">Name</label>
                <input name="child[1][name]" value="" id="child-name1" type="text">
            </div>
            <div class="col s12 m5">
                <label for="child-dob1">DOB</label>
                <input name="child[1][dob]" value="" id="child-dob1" type="date" class="datepicker">
            </div>
            <div class="col s12 m2 hide-on-med-and-down">
                <a href="#" class="remove_field">
                    <i class="material-icons">remove_circle_outline</i>
                </a>
            </div>
        </div>
        <!-- ***************************
        * End ynamic rows
        **************************** -->
    </div>
    <div class="row">
        <div class="col s12">
            <a href="#!" class="add_field_button"><i class="material-icons">add_circle_outline</i></a>
        </div>
    </div>
    

1 个答案:

答案 0 :(得分:0)

您可以在php中的会话中保存静态和动态创建的字段的所有输入值,如下所示。

OutOfMemoryError

然后在表单中填写所有会话值,请尝试以下代码。

foreach($_POST["child"] as $element => $child) {
        $_SESSION["child_name"][$element] = $child["name"];
        $_SESSION["child_dob"][$element] = $child["dob"];
    }