So blenden Sie ein Textfeld in play framework
So blenden Sie ein Textfeld in play framework? Zum Beispiel, wie dies zu verbergen Feld:
@inputText(userProfileForm("name"), '_label -> "Name")
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Arbeit sollte in allen Browsern:
Beachten Sie, dass dies nur versteckt das Feld, nicht die label, etc.
Wenn Sie möchten, blenden Sie die Beschriftung aswell, Sie können nicht mit der Standard Helfer.
Sie können jedoch festlegen, das Eingabefeld selbst:
Den
name
sollte der name des Feldes in deinem Formular (zufälligname
aswell in diesem Fall).Ich habe nicht getestet die
value
aber es sollte funktionieren, vielleicht müssen Sie Streifen die"
umname
.Wenn Sie dies tun, werden die versteckten Daten gesendet werden, zusammen mit den anderen Daten in das Formular auf dem server.
Edit:
Wenn der versteckte Wert leer ist, bedeutet dies, dass Sie nicht binden Sie es auf das Formular beim aufrufen der view. Sie können binden Sie den Namen der form, wie dies in Java (ich weiß nicht, Scala, aber es erklärt in den Play-Scala-Dokumentation):
Eine weitere Möglichkeit (die ist sauberer meiner Meinung nach) zu übergeben Sie einfach den Benutzernamen als argument an die view. Der controller wird:
Und in der Ansicht können Sie dann einfach machen:
value="@userProfileForm.data.get("name")"
und es funktioniert. Wenn der Wert in der generierten HTML-leer ist, überprüfen Sie bitte mein edit in meiner Antwort für was ist wohl die Ursache dafür ist.Den
inputText
Helfer nimmt einen varargs von(Symbol, Any)
, die stellen die html-Attribute. Wenn Sie mit html5 können Sie fügen Sie einfach das Attribut "hidden":normalerweise die
hidden
Attribut keinen Wert hat, aber ich konnte keinerlei Informationen darüber finden, wie dies mit den Helfern. Im Chrome zumindest funktioniert es so auch.Bearbeiten:
btw, du kannst auch einfach html verwenden, anstatt die Helfer:
Ich weiß, dass dies ist eine alte Frage, aber ich hatte ein ähnliches Problem, ich wollte zu verstecken, ein inputText-und dennoch Griff es mit den Helfern.
Der beste und sauberste Weg, es zu tun, ist schreiben Sie Ihre eigenen Helfer hinzufügen einer benutzerdefinierten Wert zu erzählen, als sich zu verstecken das element selbst.
Ich kam auf eine Lösung wie diese
meine eigenen Feld-Konstruktor
dass ich in der view-Datei wie diese:
nun sind Sie fertig 🙂
Während es funktionierte, ich wusste nicht, wie die hashmap-version zur Verfügung gestellt von @Aerus, lieber zu verwenden, die statisch typisierte Formen, wenn möglich, und so kam ich mit einer alternative.
Dann in das Profil, können Sie das wie folgt tun: