2013-06-10 21 views
7

Ho un input textarea (o DIV modificabile) che voglio sempre iniziare con il testo predefinito E non è modificabile dall'utente. Così, per esempio:Forzare un input textarea per iniziare con il testo predefinito

Casella di testo sarebbe sempre iniziare con il valore di default: My name is

Gli utenti sarebbero in grado e ha richiesto di aggiungere il loro nome, come ad esempio: My name is David

Essi non sarebbero in grado di eliminare il My name is testo predefinito. Idealmente, se l'utente fa clic in qualsiasi punto del testo predefinito, il cursore salta alla fine di quel testo, in modo che non abbiano la possibilità di provare a digitare qualcosa, tranne dopo il valore predefinito. Lo stesso vale per backspace, il testo predefinito (My name is) non può essere eliminato.

Qualche suggerimento? Ho la possibilità di usare Javascript/Jquery.

+7

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

+0

Qualche possibilità che l'attributo segnaposto possa risolvere il tuo problema? – Rikon

risposta

0

Perché non inserire un'etichetta (es .: span) proprio accanto all'area di testo e modificarla in modo che assomigli a un'area di testo. Basta allinearli e impostare un'immagine di sfondo (o bordi css) dietro entrambi usando CSS per creare l'aspetto dell'area di testo. Quindi gira i normali bordi fuori dalla textarea usando anche css. Dovrebbe essere abbastanza facile da codificare. La parte difficile è proprio quella di farlo in modo corretto. Se non ti dispiace che si trovi su una linea diversa si potrebbe fare questo (da un altro post):

http://jsfiddle.net/eAW2U/

O se li volete sulla stessa linea (che funziona solo per una casella di testo in realtà, non è una textarea, si potrebbe galleggiare li

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

Oppure, in alternativa è possibile utilizzare gli eventi di pressione/keyup per controllare e vedere se la pressione del tasto finirà per cambiare l'inizio del testo complessivo e, in caso affermativo annullarla.

Problemi correlati