2011-05-12 105 views
1

只是一個快速的問題..允許輸入默認值的HTML

我想產生一個文本輸入其中的默認值嵌套在標籤與內嵌css..just,使它看起來小於和灰白正常的輸入。

echo $this->Form->input('address', array('div'=>false, 'label'=>'', 'default'=>'<span style="font-size: 0.6em;color:#e3e3e3;">put your address here</span>', 'size'=>'50')); 

用戶點擊後,默認值會被刪除而保留空白。

但cakephp使用包含html標籤的值生成輸入,即。 如何讓cakephp將默認值中的html濾掉?

我忘了在這種情況下使用什麼選項,我嘗試了所有我能想到的。我記得我可以通過在'html'=>false之類的選項數組中添加某種值來做到這一點。

回答

0

我不知道有任何方法來獲取輸入框來呈現html內部。 API也沒有什麼建議你想要什麼。它可能將其嵌入到div中,並且包括標籤和輸入之前,之後和之間的內容。我認爲你需要使用JavaScript來完成你想要做的事情。

<style> 
.default {font-size: 0.6em;color:#e3e3e3;} 
.normal {color:black;} 
</style> 
<script language='javascript'> 
function change(input) 
{ 
    input.classList.add("normal"); 
    if (input.value == "enter text here") 
     input.value = ""; 
} 
</script> 
<form> 
<input id='test' class='default' type='text' value='enter text here' onfocus='change(this);'> 
</form> 
+0

真的沒有辦法嗎?我以前認爲這可以做到。我之前繼承了一個蛋糕項目,我認爲它有一個表單,我可以在其中一個輸入中使用標籤。也許我的記憶讓我失望。我喜歡你使用JS的答案,儘管我只是認爲這可以在蛋糕中完成。 – Michael

+0

儘管您可以更改輸入框的樣式,但無法使其在其中呈現html。如果你曾經使用過這個項目,我希望他們一直在用自定義代碼擴展FormHelper。 –

+0

好的..我明白了..謝謝.. – Michael

1

將您的幫助文本放在標籤中。如果您將默認值作爲HTML字符串輸入,則會顯示HTML,因爲它不會在其中呈現HTML。

如果您將額外的HTML添加到您的標籤,您可以使用此http://trevordavis.net/blog/jquery-inline-form-labels覆蓋輸入上的標籤。

echo $this->Form->input('address', array('div'=>false, 'label'=>'put your address here','size'=>'50')); 

此外,此方法允許您將css應用於外部而不是內聯 - 這總是最好的。

+0

抱歉,我的意思是將HTML內的輸入作爲值。而不是作爲輸入的標籤。 – Michael