在文本输入字段中设置示例答案
Posted
技术标签:
【中文标题】在文本输入字段中设置示例答案【英文标题】:Setting an example answer in a text input field 【发布时间】:2015-07-13 14:05:45 【问题描述】:我正在尝试在文本输入字段中设置默认值,以向用户提供输入内容的示例。这应该是灰色的,并且应该在他们开始输入后立即消失。我尝试设置一个initial
值,但是当用户开始键入时它不会自动替换,并且格式与用户输入的答案相同。
form = VerbTestForm(initial='answer': tip.tip)
我需要将什么传递给我的表单才能获得我正在寻找的行为?
【问题讨论】:
【参考方案1】:小部件占位符就是你的答案:
class VerbTestForm(forms.Form):
answer = forms.CharField(widget=forms.TextInput(attrs='placeholder': tip.tip))
您可以通过调用 as_p 或 as_table 方法快速测试生成的 html
>>> f = VerbTestForm(auto_id=False)
>>> f.as_table()
【讨论】:
【参考方案2】:您正在设置一个初始值,但您正在寻找一个占位符。
你应该试试这样的:
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
官方文档解释的很好,你应该检查一下:
Django Form Widgets【讨论】:
我错过了“占位符”这个名字【参考方案3】:设置小部件的placeholder
属性:
form = VerbTestForm()
form.fields['answer'].widget.attrs['placeholder'] = tip.tip
【讨论】:
以上是关于在文本输入字段中设置示例答案的主要内容,如果未能解决你的问题,请参考以下文章
如何根据文本字段 Material UI 中设置的值将对象设置为状态