Показать сообщение отдельно
  #3 (permalink)  
Старый 22.02.2013, 12:37
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

на клиенте добавлять нет проблем.

а вот компонента/плагина который мог бы обработать такую форму на сервере для joomla я не припомню.
Мне кажется придётся какой нибудь контролёр писать для серверной стороны, которому можно будет скормить форму. и который знает что с ним делать.
Хотя насчёт joomla возможно я ошибаюсь.

Теперь вопрос как вам скормить на сервер данные. Можно через json, или через post как массив (name[1] name[2] и тд)? Ответ зависит от того что вы хотите сделать на сервере.

<!DOCTYPE HTML>
<html>
  <head>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
  </head>
  <body>
    
    <form class="container" >
      
      <table class="tmpl" width="98%">
        <tr>
          <td> Товар<input type="text" class="name" name="name1" value=""> </td>
          <td> Цвет<input type="text" class="name" name="name2" value=""> </td>
          <td> Артикул <input type="text" class="name" name="name3" value=""> </td>
          <td> Количество <input type="text" class="name" name="name4" value=""> </td>
          <td> Цена:<input type="text" class="name" name="name5" value=""> </td>
          <td class="close">X</td>
        </tr>
      </table>
    
      
    </form>
    </br>
      <B CLASS="add">дОБАВИТЬ</b>
    
    <script>

	$(function(){
     
      var tmpl=$(".tmpl").clone(),
           count=0;

      make( $(".tmpl") );
      
      $('.add').click(function(){
            var newEl=tmpl.clone();
            make(newEl);
            $('.container').append(newEl);        
      })
      
      // функция добавляет к строке, анимацию, реакцию на события, здесь можно менять атрибуты если нужно ну и тд
      function make(el){

        //Образец кода работающий с атрибутами, поможет скормить форму серверу как массив
        //count++;
        //el.find('input, select, textarea').each(function(){
        //    var name=$(this).attr('name');
        //    $(this).attr('name', name+'['+count+']' );
        //})        

        $('.close',el).click(function(){
              $(this).parent().remove();        
        })

        // добавим немного анимации
        el.css({opacity:0});
        el.animate({opacity:1},300);      
      }            

    })

    </script>

  </body>
</html>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 22.02.2013 в 13:15.
Ответить с цитированием