добавление и проверка форы

Discussion in 'PHP' started by L.A.V, 9 Oct 2010.

  1. L.A.V

    L.A.V Member

    Joined:
    1 Sep 2009
    Messages:
    10
    Likes Received:
    10
    Reputations:
    0
    Вроде не сложный вопрос.
    есть форма, допустим 2 инпут бокса.
    ссылка "добавить данные", при нажатии на которую к форме добавляются еще 2 инпут бокса и кнопка удалить поля, при нажатии на которую удаляются добавленные поля.
    при каждом нажатии на кнопку добавляются дополнительные поля.

    Вопросы
    как организовать это?
    как прочекать все поля, не зная сколько их?
     
  2. L.A.V

    L.A.V Member

    Joined:
    1 Sep 2009
    Messages:
    10
    Likes Received:
    10
    Reputations:
    0
    добавление и удаление решил.
    как проверить произвольное количество полей через js?
    на col_name[], col_val[] различные ответы, при незаполнении.
    через php проверится через массив.
     
  3. b3

    b3 Moderator

    Joined:
    5 Dec 2004
    Messages:
    2,041
    Likes Received:
    933
    Reputations:
    199
    Как вариант сделать их в скрытом Диве, и при евенте открывать Див.
     
    _________________________
    1 person likes this.
  4. seaguy

    seaguy New Member

    Joined:
    10 Oct 2010
    Messages:
    1
    Likes Received:
    1
    Reputations:
    0
    Примерно, где-то вот так:

    1. Функция.

    PHP:

    <script type="text/javascript"
      var 
    attach_count     0// Сколько уже есть чекбоксов
      
    var attach_count_max 15// Максмальное кол-во добавления
      
    var attach_block_id  'checkboxes'// Тут ID блока, в котором будут выводиться checkbox-ы
     
      
    function checkbox_add() {
     
        if (
    attach_count attach_count_max) {
     
          
    attach_count++;
          
    attach_block_obj document.getElementById(attach_block_id);
          
    new_attach document.createElement("div");
          
    new_attach.id 'attach_' attach_count;
          
    new_attach.style.margin '0px';
          
    new_attach.style.padding '0px';
          
    new_attach.width '100%';
          
    new_attach.innerHTML 'Чекбокс # ' attach_count '<input type=\"checkbox\" name=\"checkbox[' attach_count ']\">'// HTML-код check-бокса твоего
          
    attach_block_obj.appendChild(new_attach);
          if (
    attach_count 1)
            
    document.getElementById('attach_remove').style.visibility 'visible';
     
          return 
    true;
     
        } else {
          
    window.alert('Вы можете добавить не более ' attach_count_max ' чекбоксов!');
          return 
    false;
        }
     
      }
     
      function 
    checkbox_remove() {
     
        if (
    attach_count 2)
          return 
    false;
     
        
    attach_block_obj document.getElementById(attach_block_id);
        
    attach_block_obj.removeChild(document.getElementById('attach_' attach_count));
        
    attach_count--;
     
        if (
    attach_count == 1)
          
    document.getElementById('attach_remove').style.visibility 'hidden';
     
        return 
    true;
     
      }
     
      
    photo_attach_add();
     
    </script> 
    2. HTML:

    PHP:



    <a href="#" id="checkboxes" name="checkbox_add" onClick="return checkbox_add();" />Добавить ещё</a>   <a href="#" id="checkboxes" name="checkbox_remove" onClick="return checkbox_remove();" />Убрать</a>
    Мог ошибиться , но общая концепция верна.
     
    1 person likes this.