Comment puis-je ajouter placeholder
texte à mon f.text_field
champs afin que le texte soit pré-écrit par défaut, et lorsqu'un utilisateur clique à l'intérieur des champs, le texte disparaît - permettant à l'utilisateur de saisir le nouveau texte?
Avec Rails> = 3.0, vous pouvez simplement utiliser l’option placeholder
.
f.text_field :attr, placeholder: "placeholder text"
Dans Rails 4 (en utilisant HAML):
=f.text_field :first_name, class: 'form-control', autofocus: true, placeholder: 'First Name'
Pour ceux qui utilisent Rails (4.2) Internationalisation (I18n):
Définissez l'attribut d'espace réservé sur true:
f.text_field :attr, placeholder: true
et dans votre fichier local (c.-à-d. en.yml):
en:
helpers:
placeholder:
model_name:
attr: "some placeholder text"
Voici une syntaxe beaucoup plus propre si vous utilisez Rails 4+
<%= f.text_field :attr, placeholder: "placeholder text" %>
Alors Rails 4+
peut maintenant utiliser cette syntaxe au lieu de la syntaxe de hachage
Dans votre modèle de vue, définissez une valeur par défaut:
f.text_field :password, :value => "password"
Dans votre Javascript (en supposant que jquery ici):
$(document).ready(function() {
//add a handler to remove the text
});
J'ai essayé les solutions ci-dessus et cela ressemble à Rails 5. *) le deuxième argument par défaut est la valeur du formulaire de saisie, ce qui a fonctionné pour moi était:
text_field_tag :attr, "", placeholder: "placeholder text"