Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.01.2012, 04:26
Аспирант
Отправить личное сообщение для tarya Посмотреть профиль Найти все сообщения от tarya
 
Регистрация: 29.03.2011
Сообщений: 49

Длина input.text на длину данных
Добрый день. Мне нужно сделать элемент input.text который бы раздвигался по мере ввода в него текста. Например при пустом будет зазор на 10 пикселей примерно, но когда пишут - раздвигается? Как такое реализовать?

Спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 11.01.2012, 09:35
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от tarya
Как такое реализовать?
На этом форуме предлагался примерно такой вариант...

<!DOCTYPE html>
<html>
<head>
<!--
<script src="http://code.jquery.com/jquery-latest.js"></script>
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
* {
	margin: 0;
	padding: 0;
}
.container {
	position: relative;
}
#calc {
	position: absolute;
	top: 0;
	left: 0;
	border: 1px solid;
	font-family: Tahoma;
	font-size: 12pt;
}
.box {
	width: 10px;
	border: 1px solid red;
}
.box input {
	width: 100%;
	border: 0;
	font-family: Tahoma;
	font-size: 12pt;
}
</style>
<script type="text/javascript">
function Go() {
	var val,ot=document.getElementById('txt');
	val=ot.value;
	var oc=document.getElementById('calc');
	oc.innerHTML=val;
	ot.parentNode.style.width=oc.offsetWidth+'px';
}   
</script>
</head>
<body>
<form>
	<div class='container'>
		<div id='calc'></div>
		<div class='box'>
			<input type='text' id='txt' onkeyup='Go()' />
		</div>
	</div>
</form>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 11.01.2012, 10:49
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

была такая тема input="text" с автошириной
Ответить с цитированием
  #4 (permalink)  
Старый 11.01.2012, 11:08
Аватар для GuardCat
Просто любитель
Отправить личное сообщение для GuardCat Посмотреть профиль Найти все сообщения от GuardCat
 
Регистрация: 13.09.2011
Сообщений: 300

Вот вариант с size. Но без моноширинного шрифта (зато любого размера) не обойтись. Можно, конечно, пошаманить с maxlength и зазорами, но это от лукавого.
<!DOCTYPE HTML>
<html>
<head>
  <style type = "text/css">
    .resiz {
      font-size: 15px;
      font-family: monospace;
    }
  </style>
</head>
<body>   
  <input type = "text" id = "needResize" size = "1" class = "resiz">
  <input type = "text" id = "needResize2" size = "3" class = "resiz">
  <script>
     makeRubber = (function () {
       function boomer() {
         this.size = this.value.length + 1;
       }
       return function (input) {
         input.onkeydown = boomer;
         input.onkeyup = boomer;
         input.onkeydown();
       }
    })()
    makeRubber(document.getElementById("needResize"));
    makeRubber(document.getElementById("needResize2"));
  </script>
</body>

Последний раз редактировалось GuardCat, 11.01.2012 в 11:18.
Ответить с цитированием
  #5 (permalink)  
Старый 13.01.2012, 03:35
Аспирант
Отправить личное сообщение для tarya Посмотреть профиль Найти все сообщения от tarya
 
Регистрация: 29.03.2011
Сообщений: 49

Благодарю! Теперь ясно куда копать!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
hta/jscript обновление данных MySQL через ODBC драйвер Space-06 Events/DOM/Window 0 26.12.2011 22:19
Импорт данных с Facebook/Twtter при регистрации? Имя AJAX и COMET 1 22.09.2011 15:10
jqGrid. локальная обработка данных DarkN jQuery 0 25.01.2011 23:55
Синхронный запрос данных по AJAX Shasoft AJAX и COMET 2 03.03.2009 14:07
Хранимая область данных. PolarWolf Общие вопросы Javascript 17 14.01.2009 18:25