2012-08-14 2 views
3

J'utilise Play Framework. Je veux utiliser le HTML5 input type 'search'. Donc, je veux sortie:Générez <input type = "search" /> en utilisant Play! framework

<input type="search" /> 

J'ai essayé:

@inputText(field = myForm("myField"), 'type -> "search") 

mais elle a conservé le type = "entrée"

+0

Est-ce une faute de frappe, ou est-ce dans votre code? ''type -> ...' Citation de fin manquante. – Dylan

+0

@Dylan: ce n'est pas une erreur: http://www.playframework.org/documentation/2.0.2/JavaFormHelpers – biesior

+0

Oh oui j'ai oublié les "symboles" en scala – Dylan

Répondre

5

la méthode inputText représente un texte d'entrée HTML (voir le code source here).

Vous devez définir votre propre modèle pour définir l'entrée de type search. Jetez un oeil à la Play documentation.

@helper.input(myForm("myField")) { (id, name, value, args) => 
    <input type="search" name="@name" id="@id" @toHtmlArgs(args)> 
} 
1

Très probablement votre champ de recherche ne sera pas utiliser beaucoup de choses typiques de l'élément de forme commune (comme constraints ou error messages) de sorte que vous pouvez simplement utiliser HTML brut pour l'insérer, et ajouter la valeur du champ dans l'attribut approprié (si nécessaire du tout):

<input type="search" name="myField" value="@myForm("myField").value" /> 

Si c'est juste un formulaire de recherche (avec ce seul champ) vous même ne pas besoin de l'envelopper avec la Form classe

(bien sûr Nico Suggest est conseillé dans plus sophiste scénarios)

0

Certains assistants que vous cherchez sont disponibles dans un module de jeu 2. Les helpers d'entrée html5 ne sont pas dans la partie centrale du framework car les auteurs de jeux veulent le garder léger. Voici la page du module sur github: https://github.com/loicdescotte/Play2-HTML5Tags

Questions connexes