2013-06-25 9 views
26

Esempio http://dabblet.com/gist/5859946Come impostare una larghezza di ingresso in modo che corrisponda il testo segnaposto larghezza

Se si dispone di una lunga segnaposto, l'ingresso di default non visualizza troppo piccolo per mostrare tutto il testo segnaposto.

ad es.

<input placeholder="Please enter your name, address and shoe size"> 

Senza impostare una larghezza fissa e preferibilmente nessun javascript, è possibile impostare l'input per mostrare tutto il testo segnaposto?

risposta

21

Questo può essere fatto solo tramite JavaScript impostando la dimensione = lunghezza segnaposto:

input.setAttribute('size',input.getAttribute('placeholder').length); 

Ecco un codice che dose che per tutti gli ingressi: http://jsfiddle.net/KU5kN/

+0

Non necessariamente sempre esattamente la larghezza corretta, è utile e molto concisa. Grazie. –

+0

Ho postato una risposta qui sotto che viene eseguita con jQuery che evita anche che vengano lanciati errori, se qualcuno ne desidera uno come tale –

+0

Sfortunatamente i risultati di questo sono molto incoerenti tra i vari browser. – sgb

4

Solo nel caso qualcuno vuole usalo con jQuery, quel codice sarebbe sotto. Inoltre, se l'attributo placeholder non esiste nella risposta accettata, si otterranno degli errori, anch'essi curati nell'esempio jQuery di seguito.

$("input[placeholder]").each(function() { 
     $(this).attr('size', $(this).attr('placeholder').length); 
    }); 
+0

Questa è la risposta che ha funzionato per me :) –

Problemi correlati