0

我有这个表格:

        <div data-role="content"> 
    <form action="#" method="post" id="cen">
        <table>
            <thead>
                <tr>
                    <th>Contacto</th>
                    <th>Fecha</th>
                    <th>Hora</th>
                    <th >Mensaje</th>
                </tr>
            </thead>
            <tbody>
                <tr>                        
                    <td><input name="user" id="correo" type="email" placeholder="contacto@correo.com" style="width: 10em;"></td>
                    <td><input name="date" id="fecha" type="date" data-role="datebox" data-options='{"mode": "calbox"}'></td>
                    <td><input id="hora" name="hour" type="text" data-role="datebox" data-options='{"mode": "timebox", "overrideTimeFormat": 12}'></td>
                    <td><textarea id="mensaje" name="mensaje" placeholder="Su mensaje Aqui" style="width: 15em; max-width: 15em;"></textarea></td>
                </tr>
            </tbody>
        </table>
        <center><input type="submit" value="Enviar" data-inline="true"></center>
    </form>
    </div>

我的问题是,我怎样才能让我的表单实时创建字段?因为我需要为用户提供发送尽可能多的信息的能力

4

1 回答 1

1

您可以像这样克隆现有的表单元素:

var $clone = $("#cen").find("tbody").children().eq(0).clone(true);

$("#cen").find("tbody").append($clone);

这可以很容易地放入click事件处理程序中:

$("#some-button").on("click", function () {

    var $clone = $("#cen").find("tbody").children().eq(0).clone(true);

    $("#cen").find("tbody").append($clone);

    return false;
});

我认为您需要name通过添加括号来更改输入元素的属性来使它们成为数组的唯一其他更改[]。例如:

<input name="user[]" id="correo" type="email" placeholder="contacto@correo.com" style="width: 10em;">

这样,无论这些输入有多少,数据都会在提交表单时进入下一页。

然后,解释此输入的服务器端代码应尝试通过检测存在的值来遍历所有值,因为 POST 变量将是数组,这应该不难。

于 2013-06-07T15:56:48.197 回答