在文本输入字段中设置示例答案

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

【讨论】:

以上是关于在文本输入字段中设置示例答案的主要内容,如果未能解决你的问题,请参考以下文章

在 redux 形式的文本字段中设置初始值

如何根据文本字段 Material UI 中设置的值将对象设置为状态

如何在 UIView 中设置滚动视图以向上滑动被键盘隐藏的文本字段?

在UIWebView中设置文本字段的文本

如何在 python zipinfo 中设置注释

在RoR的“文本”字段中设置最大长度