2013-08-26 15 views
13

Ich habe gerade mit Play Framework gestartet und ich bin auf der Suche nach Eingabefeld in scala Vorlage, aber ohne Label und aus irgendeinem Grund kann ich nicht das generierte Label-Element loswerden. Hier ist, wie mein Code wie folgt aussieht:Play Framework-Eingabe ohne Label

@helper.inputText(form("name"), 'id -> "name", 'class -> "ui-state-default", 'autocomplete -> "off", 'placeholder -> "Please write name ...") 

Also habe ich mit diesem Element am Ende zusammen mit meinem Eingang (mit Blick auf Browser-Quellcode):

<dt><label for="s2id_autogen2">name</label></dt> 

Gibt es eine Möglichkeit, es zu entfernen?

+0

auch die offizielle 'Play-Framework API' für' input type = "text" '(achten Sie auf die Framework-Version) https://www.playframework.com/ Dokumentation/2.2.3/api/scala/index.html # views.html.helper.inputText $ –

Antwort

6

Ich denke, Sie müssten Ihr eigenes Feld Konstruktor schreiben, zum Beispiel:

@(elements: helper.FieldElements) 

<div class="@if(elements.hasErrors) {error}"> 
    <div class="input"> 
     @elements.input 
     <span class="errors">@elements.errors.mkString(", ")</span> 
     <span class="help">@elements.infos.mkString(", ")</span> 
    </div> 
</div> 

Mehr Infos hier: http://www.playframework.com/documentation/2.0/JavaFormHelpers

0

Wenn Sie nicht das Etikett in der erzeugten Quelle ist dagegen, Sie Sie können ein leeres Label erstellen, indem Sie '_label -> "" festlegen. Wenn Sie es im DOM überhaupt nicht möchten, müssen Sie einen Feldkonstruktor erstellen oder die Felder manuell generieren.

20

Meine Lösung war:

@helper.inputText(form("name"), 
    'id -> "name", 
    'class -> "ui-state-default", 
    'autocomplete -> "off", 
    'placeholder -> "Please write name ...", 
    '_label -> null 
) 
+1

Ich habe das Gleiche gemacht und ich habe eine Nullzeiger-Ausnahme an der Zeile der Deklaration des Feldes. Weißt du, wo es herkommen könnte? Danke – c4k

+3

Ich fand die Lösung selbst, Sie müssen '_label' als null und nicht' label' definieren. Ich habe deine Antwort bearbeitet;) – c4k

+6

Dadurch bleibt das Label-Element im DOM –

Verwandte Themen