Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.05.2011, 12:14
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

input и пробелы...
Есть три инпута

Скриптом содержимое этих трех инпутов отправляется в четвертый, скрытый.
И через пробел там расставляется

q1.value+" "+q2.value+" "+q3.value



Возможно ли действие, обратное этому?
т.е. вводим в один инпут три "значения" через пробел, а они отправляются в три других соответствующих инпута?
Ответить с цитированием
  #2 (permalink)  
Старый 25.05.2011, 12:20
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Viral,

<!DOCTYPE html>
<html></head>
	<meta charset = "utf -8" />
</head></body>

значения, разделенные пробелами
<input id = "#i4"/>

<button id = "#go">go</button>


</body></html>


<script>
function $(id){
	return document.getElementById(id);
}
var inp = $("#i4");

$("#go").onclick = function(){
	var vals = inp.value.replace( /^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "").split(/\s+/);
	for(var i = 0, il = vals.length; i < il; i ++){
		document.body.appendChild(document.createElement("BR"));
		document.body.appendChild(document.createElement("INPUT")).value = vals[i];
	}
}

</script>
__________________
readOnly

Последний раз редактировалось poorking, 25.05.2011 в 12:32.
Ответить с цитированием
  #3 (permalink)  
Старый 25.05.2011, 12:56
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

Спасибо, отдельно от основной страницы работает как надо, но отказывается на сайте.

var vals = inp.value.replace( /^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "").split(/\s+/);


Объясните, пожалуйста, подробнее, что делает эта строчка кода.
Желательно каждый элемент...

IE 8 критует ошибку и говорит, что тут требуется объект.

З.Ы. это не первый и далеко не единственный инпут на странице.
Ответить с цитированием
  #4 (permalink)  
Старый 25.05.2011, 13:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Сообщение от Viral
вводим в один инпут три "значения" через пробел
А в тех "значениях" пробел может присутствовать?
Ответить с цитированием
  #5 (permalink)  
Старый 25.05.2011, 13:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,124

Как вариант...

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
</style>
<script type="text/javascript">
function Go() {
	var str=document.getElementById('data').value
	var a=str.split(' ')
	var o=document.getElementsByName('group')
	var i
	for (i=0; i<o.length; i++) {
		o[i].value=a[i]
	}
}
</script>
</head>
<body>
<div>
	<input type='text' name='group' />
	<input type='text' name='group' />
	<input type='text' name='group' />
</div>
<input type='text' id='data' />
<input type='button' value='Set' onclick='Go()' />
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 25.05.2011, 14:08
Аватар для poorking
prodigy
Отправить личное сообщение для poorking Посмотреть профиль Найти все сообщения от poorking
 
Регистрация: 01.11.2010
Сообщений: 503

Viral,
сначала обрезает у строки пробелы по краям(trim): str = str.replace( /^[\s\xA0]+/, "").replace(/[\s\xA0]+$/, "")
потом превращает строку в массив строк, разделив основную по правилу /\s+/ (каждые 1+ пробельный символ) методом строк split

replace
split
регулярные выражения
__________________
readOnly

Последний раз редактировалось poorking, 25.05.2011 в 14:11.
Ответить с цитированием
  #7 (permalink)  
Старый 25.05.2011, 15:37
Аватар для Viral
Профессор
Отправить личное сообщение для Viral Посмотреть профиль Найти все сообщения от Viral
 
Регистрация: 26.04.2011
Сообщений: 472

Спасибо большое
Ответить с цитированием
  #8 (permalink)  
Старый 25.05.2011, 16:04
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,503

Вообще проще юзать match(/\S+/g) .
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение множества элементов Input по определённом призна Лавсановые Волокна Элементы интерфейса 1 24.12.2010 10:37
Динамическая форма! INPUT c зависимым INPUT shleify Общие вопросы Javascript 5 02.12.2010 22:18
Обработка нескольких file input Temlekur Работа 8 21.01.2010 18:30
Копирование из одного input в другой input bar-boss Общие вопросы Javascript 7 08.04.2008 19:10
Разным элементам input - разное форматирование. Как? eclipse (X)HTML/CSS 1 25.10.2007 13:55