2013-06-10 6 views
7

Ich habe eine Textarea (oder editierbare DIV) Eingabe, die ich immer mit Standardtext beginnen UND nicht vom Benutzer bearbeitet werden kann. So zum Beispiel: My name isErzwingen Sie eine Textarea-Eingabe mit Standardtext zu beginnen

Benutzer ihren Namen, wie hinzuzufügen wäre in der Lage und benötigt::

Textbox immer mit dem Standardwert beginnen würde My name is David

würden Sie nicht in der Lage sein, die My name is löschen Standardtext Im Idealfall würde der Cursor, wenn der Benutzer irgendwo auf diesen Standardtext klicken würde, zum Ende dieses Texts springen, so dass er nicht einmal versuchen würde, etwas zu tippen, außer nach dem Standard. Das gleiche gilt für die Rücktaste, der Standardtext (My name is) konnte nicht gelöscht werden.

Irgendwelche Vorschläge? Ich habe die Fähigkeit, Javascript/Jquery zu verwenden.

+7

Siehe http://stackoverflow.com/qu estitions/5490410/html-javascript-how-to-make-default-text-of-a-textarea-undeletable – lifetimes

+0

Gibt es eine Chance, dass das Platzhalter-Attribut Ihr Problem lösen könnte? – Rikon

Antwort

0

Warum nicht einfach ein Etikett (d. H .: span) direkt neben den Textbereich kleben und es so gestalten, dass es wie ein Textbereich aussieht. Ordnen Sie sie einfach an und legen Sie hinter ihnen ein Hintergrundbild (oder CSS-Rahmen) mit CSS fest, um die Darstellung des Textbereichs zu erstellen. Dann schalte die normalen Ränder mit css aus dem Textfeld aus. Sollte ziemlich einfach zu programmieren sein. Tricky Teil wird nur richtig gestylt. Wenn Sie den Text nicht zu sein auf einer anderen Linie etwas dagegen, können Sie dies tun (von einem anderen post):

http://jsfiddle.net/eAW2U/

Oder, wenn man sie auf der gleichen Linie wollen (die nur für ein Textfeld funktionieren würde wirklich, nicht ein Textfeld, könnte man sich

<div style="float:left">etc... 

schwimmt Oder alternativ können Sie die keypress/keyup Ereignisse verwenden, um zu überprüfen und sehen, ob die keypress am Ende werden den Anfang des Gesamttextes zu ändern, und wenn es so abzubrechen.

Verwandte Themen