2013-06-07 2 views
0

Я иметь такую ​​форму:Multimensional Массив JQuery мобильный

 <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="[email protected]" 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> 

Мой вопрос, как я могу сделать, что моя форма создания поля в режиме реального времени? Beacause мне нужно, чтобы предоставить пользователям с возможностью отправлять столько informantion как пользователь хочет

ответ

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="[email protected]" style="width: 10em;"> 

Таким образом, независимо от того, сколько из этих входов существует, то данные будут пробиваться к следующей странице в представлении формы.

Код на стороне сервера, который интерпретирует этот вход, затем должен попытаться выполнить все значения, обнаружив, сколько существует, поскольку переменные POST будут массивами, это не должно быть сложно.

+0

У меня есть еще один вопрос, после этого, как я могу ссылаться на новые элементы? Я имею в виду, я передам это через jquery в веб-службу. Так как я ссылаюсь на массив? –

+0

@JosueFranciscoOrellanaVega Как я уже сказал в своем ответе, ваш серверный скрипт будет обращаться к тем же переменным POST, но теперь вместо того, чтобы быть строками, они будут массивами. Таким образом, вы можете перебирать массивы и делать все, что вам нужно, с данными. – Jasper

+0

Я alredy попробовать, что вам грустно, но я не знаю, почему не работает –