2015-05-04 43 views
1

我試圖在文本輸入字段中設置默認值,該字段爲用戶提供了輸入內容的示例。這應該是灰色的,並應在開始打字後立即消失。我試過設置一個initial的值,但是當用戶開始輸入並且格式與用戶輸入的答案相同時,這個值不會被自動替換。在文本輸入字段中設置示例答案

form = VerbTestForm(initial={'answer': tip.tip}) 

我需要傳遞給我的表單以獲取我正在查找的行爲?

回答

1

要設置一個初始值,但你正在尋找一個佔位符

你應該嘗試這樣的事:

class VerbTestForm(forms.ModelForm): 
    # Your code ... 
    class Meta: 
     # Your code ... 

     widgets = { 
      'answer': forms.TextInput(attrs={'placeholder': tip.tip}), 
     } 

,或者你可以定義等形式後添加佔位符:

form = VerbTestForm() 
form.fields['answer'].widget.attrs['placeholder'] = tip.tip 

的官方文檔被很好解釋,你應該檢查:

+0

測試生成的HTML我錯過了名的「佔位符」 –

1

設置控件的屬性placeholder

form = VerbTestForm() 
form.fields['answer'].widget.attrs['placeholder'] = tip.tip 
1

小部件佔位符是你的答案:

class VerbTestForm(forms.Form): 
    answer = forms.CharField(widget=forms.TextInput(attrs={'placeholder': tip.tip})) 

可以快速調用as_p或as_table方法

>>> f = VerbTestForm(auto_id=False) 
>>> f.as_table() 
相關問題