2014-11-22 81 views
0

CakePHP的代碼刪除DIV創建

<?php echo $this->Form->create('KPI');?> 

HTML輸出

<form accept-charset="utf-8" method="post" id="..." action="..."> 
    <div style="display:none;"> 
     <input type="hidden" value="POST" name="_method"> 
    </div> 

我想刪除自動生成的DIV在HTML輸出,顯示。如何刪除由cakephp表單生成的那個div創建?在評論中已經提到

+0

你爲什麼要這麼做? – ndm 2014-11-22 11:30:46

+0

我想要jQuery代碼來檢測我的表單中的div,但我不需要不必要的div。 – Sadikhasan 2014-11-22 11:33:13

+0

@ndm是否有可能不生成隱藏的div? – Sadikhasan 2014-11-22 11:38:54

回答

1
<?php echo $this->Form->create('Kpi', array(
       'inputDefaults'=>array('div'=>'false', 'label'=>false))); 
     ?> 
+0

您的表單創建語法錯誤。 – Sadikhasan 2014-11-22 11:43:05

+0

對不起!它也生成div標籤。 – Sadikhasan 2014-11-22 11:45:38

+0

確定這是正確的語法 – 2014-11-22 11:46:05

0

至於,你不應該刪除標記,除了那隻能通過完全覆蓋FormHelper::create()是可能的,看到

另請注意,表單末尾可能會有一個額外的隱藏塊,請參閱FormHelper::secure()

唯一更簡單的方法以除去包裝,將是完全取消隱藏的包裝,這將例如是能夠通過使用用於HtmlHelper一個custom config其中hiddenblock標籤被修改,使得它不包含包裝,然而這不是一個好主意 - 不要這樣做!

這裏的問題是,你不能只刪除這個特定的包裝div元素,隱藏的inputdiv齊頭並進。並且input確保CakePHP能夠確定正確的請求方法(POSTPUTDELETE)。

所以相反,只需讓您的jQuery選擇器更具體,不要只選擇div元素,而是確保您的元素具有適當的類集,然後通過class選擇它們。