2016-04-12 7 views
3

sagen, dass ich den folgenden Text Eingabeelement haben:Styling in einem HTML-Input-Tag

<input type="text" value="Bruno"> 

Kann ich das "B" im Wert Bold machen? So sieht es aus wie B runo?

Ich weiß es ist ziemlich einfach innerhalb <span> und <div> Elemente:

<span><strong>B</strong>runo</span> 

Aber ist dies möglich mit einem <input> Element? Wenn ja, würde der Wert immer gleich bleiben, unabhängig davon, welches Styling darauf angewendet wurde?

+1

Sie könnten die Eingabe ausgeblendet machen und stattdessen Text in einem Container anzeigen, der wie Ihre Eingabe aussieht, und mit span und div formatieren. – dward

+0

Das würde funktionieren, aber was ist, wenn das Feld bearbeitet werden muss? Wie kann ich das tun? –

+1

Nein, das geht nicht, wirklich. –

Antwort

4

Ein <input> oder <textarea> eigenes Element wird diese Art von Verhalten nicht unterstützen. Sie könnten einen Ansatz verwenden, die Ihre eigentliche Element verstecken würde und eine Fassade, um die Werte von Ihrem Element und geben sie als reines HTML in eine <div> kopieren angezeigt werden:

<!-- An element to handle typing your content that calls a function --> 
<input id='input' onkeyup='updateOutput(value);' /> 
<hr /> 
<!-- Your output element (to display your content) --> 
<div id='output'></div> 
<script> 
    // A function to map your content and output it in your "output" element 
    function updateOutput(html){ 
    document.getElementById('output').innerHTML = html; 
    } 
</script> 

Sie können see an example of this here und unten gezeigt:

enter image description here

eine bessere Alternative könnte einen Javascript-basierten HTML-Editor wie TinyMCE oder CKEditor zu bedienen.

+0

Das macht Sinn . Ich denke, ich werde Ihre Methode für meine Bedürfnisse anpassen! Ich denke, ich werde die auf Klick umschalten, zeigen Sie die Textbox an ihrem Platz und aktualisieren Sie dann die mit Ihrem Beispiel und wenn die Eingabe den Fokus verliert, werde ich die Eingabe ausblenden und die an ihrem Platz zeigen. Vielen Dank Rion, ich schätze es sehr! :) –