Input Field That Gets Taller As You Type
I was wonder how I can create a text input that has an auto-adjustable height so that it gets taller to fit your text? For example, if I start typing a paragraph, it expands from a
Solution 1:
Here's a CSS-only solution: Use a div
with contenteditable
set to true.
<divcontenteditable="true"style="width:200px;min-height:20px;border:1px solid #ccc;"></div>
See this JSFiddle for an example.
EDIT:
If you want to be able to submit this text, you'll need a little bit of javascript to put it into an input
field. Add this to your form:
<form onsubmit="document.getElementById('hidden_data').value=document.getElementById('showing_data').innerHTML;">
<input id="hidden_data" name="data"type="hidden"/>
<div id="showing_data" contenteditable="true"
style="width:200px;min-height:20px;border:1px solid #ccc;"></div>
</form>
This will put the contents of the div
into a hidden input
field so it will be submitted to the server through POST
with anything else.
See this (updated) JSFiddle for an example.
Solution 2:
Take a look at this post here:
Creating a textarea with auto-resize
It has all the code needed (HTML and Javascript) to accomplish what you want.
Post a Comment for "Input Field That Gets Taller As You Type"