2011-10-20 69 views
1

我只是想弄清楚cakephp看起來會非常有趣。在cakephp中使用maxlength選項 - 但它會在html中輸出兩個maxlength值

我有一個表格輸入,其是這樣:

echo $form->input('Campaign.title', array('maxLength'=>'76px')); 

,其輸出:

<label for="CampaignTitle">Title</label><input name="data[Campaign][title]" type="text" maxLength="76px" maxlength="255" id="CampaignTitle" /> 

通知兩個值用於maxlegth。我如何擺脫IE中似乎首選的第二個「255」值。

+0

對不起,我不是一個CakePHP的專家,但是你真的要' px'在你的maxLength中? – nachito

回答

4

儘量注意你的html屬性「最大長度」

蛋糕的資本將會自動通過數據庫列的長度確定爲某些字段類型的最大長度。在你的情況下,你想覆蓋這個字段的長度 - 一個varchar(255) - 是76而不是字段可以允許的。

但是在你的幫手調用中,你正在設置一個屬性「maxLength」 - 注意大寫的「L」 - 這不是實際的屬性「maxlength」。

所以 - 解決您的助手呼籲,去掉「PX」和「最大長度」改變的關鍵在於「最大長度」

<?php echo $form->input('Campaign.title', array('maxlength'=>'76')); ?> 
+0

謝謝。我非常確定它本來就是駱駝套,我沒想過要檢查。 :) –

0

爲什麼會有px?

IE不明白純HTML的「px」,所以它覆蓋它,並將其設置爲默認值。

使用此

echo $form->input('Campaign.title', array('maxLength'=>'76')); 
+0

哦,那有效。哎呀,請不要告訴任何人;),這使得它現在在IE中工作。但它仍然輸出兩個值。怎麼來的?有沒有辦法擺脫第二值 –

+0

感謝您的幫助 –