2012-05-14 72 views
0

有了這個實體,例如:保存多個表單

<?php 

namespace Gitek\HotelBundle\Entity; 

use Doctrine\ORM\Mapping as ORM; 

/** 
* Gitek\HotelBundle\Entity\Product 
* 
* @ORM\Table() 
* @ORM\Entity(repositoryClass="Gitek\HotelBundle\Entity\ProductRepository") 
*/ 
class Product 
{ 
    /** 
    * @var integer $id 
    * 
    * @ORM\Column(name="id", type="integer") 
    * @ORM\Id 
    * @ORM\GeneratedValue(strategy="AUTO") 
    */ 
    private $id; 

    /** 
    * @var string $name 
    * 
    * @ORM\Column(name="name", type="string", length=100) 
    */ 
    private $name; 

如何建立一個表格,以節省像10個產品上的行?我想要一個帶有「+」按鈕的表單,並且可以連續添加行並提交所有產品。

任何幫助或線索? 在此先感謝

回答

0

當您點擊「添加」按鈕時,您可以使用Javascript(jQuery)將表單元素動態添加到您的頁面。事情是這樣的:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
        "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 
<head> 
    <title></title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
      $('#btnAdd').click(function() { 
       var num  = $('.clonedInput').length; 
       var newNum = new Number(num + 1); 

       var newElem = $('#input' + num).clone().attr('id', 'input' + newNum); 

       newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum); 
       $('#input' + num).after(newElem); 
       $('#btnDel').attr('disabled',''); 

       if (newNum == 5) 
        $('#btnAdd').attr('disabled','disabled'); 
      }); 

      $('#btnDel').click(function() { 
       var num = $('.clonedInput').length; 

       $('#input' + num).remove(); 
       $('#btnAdd').attr('disabled',''); 

       if (num-1 == 1) 
        $('#btnDel').attr('disabled','disabled'); 
      }); 

      $('#btnDel').attr('disabled','disabled'); 
     }); 
    </script> 
</head> 

<body> 

<form id="myForm"> 
    <div id="input1" style="margin-bottom:4px;" class="clonedInput"> 
     Name: <input type="text" name="name1" id="name1" /> 
    </div> 

    <div> 
     <input type="button" id="btnAdd" value="add another name" /> 
     <input type="button" id="btnDel" value="remove name" /> 
    </div> 
</form> 

</body> 
</html> 

Reference
然後,當表單被提交,您可以通過$_POST陣列行走。

+0

這是helfull,但在symfony中,要創建一個數組,首先必須更改字段的名稱。它適用於jQuery,只需將[]添加到名稱本身的末尾即可。 –

0

這是最少量的代碼,以查看您的工作過程。

但基本上這些任務都解決了,通過存儲在會議所有信息作爲一個多維數組,終於在最後一點上插入他們逐一