2014-12-03 17 views
5

Ho un semplice tag di input (che io apprezzo usando Bootstrap) nel quale ora voglio posizionare un apice (per visualizzare "m "). Il problema è che quando faccio questo:Come usare un apice in un tag di immissione del testo html?

<input class="form-control" name="gla" placeholder="m<sup>2</sup>" type="text"> 

il segnaposto mostra letteralmente questo: m<sup>2</sup>

Qualcuno sa come posso visualizzare correttamente l'apice? Tutti i suggerimenti sono ben accetti!

+0

controllo questo fuori: http://stackoverflow.com/questions/17683654/superscript-in-input-field-of-text-type – Aditya

+0

Sia Rhumborl e Lekhnath hanno risposte corrette. – rfornal

risposta

5

si potrebbe utilizzare il carattere UTF-8 per ² apice. Assicurati inoltre di impostare il set di caratteri del documento su UTF-8.

<html> 
 
    <head> 
 
     <meta charset="UTF-8"> 
 
    </head> 
 
    <body> 
 
     <input class="form-control" name="gla" placeholder="m²" type="text" /> 
 
    </body> 
 
</html>

anche this answer potrebbe essere di aiuto.

+0

Il carattere "²" funziona perfettamente come tale usando la codifica * any * che ha un codice per esso, incluso per es. ISO-8859-1 e Windows-1252. –

+0

L'ho provato sul mio desktop con i set di caratteri Windows-1252 e ISO-8859-1, ma l'output del segnaposto era "m", quindi DEVI cambiare il set di caratteri in UTF-8, oppure Firefox e Ubuntu stanno facendo qualcosa di sbagliato . – lmazgon

+1

Si ottengono risultati errati se la codifica * actual * non è uguale alla codifica * dichiarata *. Questo vale anche se uno di questi è UTF-8. –

6

Come sull'utilizzo entità HTML

<input class="form-control" name="gla" placeholder="m&sup2;" type="text"> 

Yes it works

+0

@Rhumborl aggiornato. grazie per averlo menzionato – Lekhnath

+0

Anche se funziona bene, in qualche modo non funziona nel mio codice. Forse ha qualcosa a che fare con il bootstrap o una delle (troppe) librerie js che carico? – kramer65

+0

funziona con bootstrap anche http://jsfiddle.net/lekhnath/jvx89kuk/1/ – Lekhnath

2

Si dovrebbe essere in grado di inserire il carattere ² direttamente nel tag HTML - è il codice ASCII 262/ottale 178. Questo dovrebbe rendere modo più sicuro è solo ASCII, non Unicode.

<input type="text" placeholder="m²" />

+0

Si può effettivamente usare "²" come tale. Ma i codici di entità funzionano nei valori degli attributi. E il carattere "²" non è un carattere ASCII. E tutti i personaggi che usi sono caratteri Unicode. –

0

Prova questo, è possibile utilizzare,

HTML Entity (nome) &sup2;

HTML Entity (decimale) &#178;

HTML Entity (esadecimale) &#x00B2;

<input class="form-control" name="gla" placeholder="m&#178;" type="text"> 

Demo: http://jsfiddle.net/q8310f27/1/

1

All'interno di un valore di attributo, è possibile utilizzare caratteri esattamente come nel contenuto del documento (ad eccezione del carattere di citazione utilizzato come delimitatore del valore dell'attributo). Ciò significa che è possibile scrivere il carattere in apice due come tale, o usando un riferimento di carattere con nome, o un riferimento numerico. Quando si utilizza il carattere come tale, è necessario assicurarsi che la codifica dei caratteri sia dichiarata correttamente (corrisponde alla codifica effettiva).

<input class="form-control" name="gla" placeholder="m²" type="text"><br> 
 
<input class="form-control" name="gla" placeholder="m&sup2;" type="text"><br> 
 
<input class="form-control" name="gla" placeholder="m&#178;" type="text"><br> 
 
<input class="form-control" name="gla" placeholder="m&#xb2;" type="text"><br>

Problemi correlati