我有一个通过 Symfony 构建的文本区域,代码如下:
控制器:
$form = $this->createFormBuilder($defaultData)
->add('name', 'text', array('label' => 'Name:'))
->add('email', 'email', array('label' => 'Email Address:'))
->add('subject', 'text', array('label' => 'Subject:'))
->add('message', 'textarea', array('label' => 'Message:'))
->getForm();
模板:
<div>
{{ form_errors(form.message) }}
<p class="label">{{ form_label(form.message) }}</p>
{{ form_widget(form.message, { 'attr' : { 'class' : 'input', 'id' : 'message', 'rows' : '8' } }) }}
</div>
这会产生以下 HTML:
<div>
<p class="label"><label for="form_message" class="required">Message:</label></p>
<textarea id="form_message" name="form[message]" required="required" class="input" id="message" rows="8">Type your message here</textarea>
</div>
现在,当文本区域被聚焦时,我希望初始文本消失。我只是不知道该怎么做。我试过了:
$("#message").focus(function() {
if (this.text() == "Type your message here") {
this.text("");
}
});
但无济于事。