Javascript.RU

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

Передача значения из textarea в input
Здравствуйте.
Нужна вот такая реализация:
Пользователь пишет текст в textarea, в него пишется нормальный текст,
и есть input (будет скрытый).
В него нужно чтобы записывался событие клавиатуры, которое набрали в textarea.
Тобеж если в textarea набрали "абв", то в input должно быть: "70-188-68".
Для каждой буквы нужен код, а не сумма всех кодов, как делает скрипт ниже. (конечно если такая возможна реализация,хотелось чтобы все было через дефис).

Есть просто скрипт копирования:
<textarea oninput="document.getElementById('inputhide').value=event.keyCode;" onkeydown="document.getElementById('inputhide').value=event.keyCode;"></textarea> <br/>
<input type="hidden" id="inputhide" />


Также нашел обычную проверку нажатия клавиш (здесь в документации):
<input onkeydown="this.nextSibling.innerHTML = event.keyCode"><b></b>


А вот как все это в единое соединить не знаю!
Спасибо за помощь!
Ответить с цитированием
  #2 (permalink)  
Старый 05.02.2014, 16:42
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от TuxShot
Тобеж если в textarea набрали "абв", то в input должно быть: "70-188-68".
А если текст вставили через copy/paste? То инпут должен быть пустой? А записываться должны только клавиши буков? А скажем Shift, Ctrl и тд?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 06.02.2014, 15:36
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Сообщение от TuxShot
Тобеж если в textarea набрали "абв", то в input должно быть: "70-188-68".
Тобеж набрали f,d и в инпут запислось то же самое.
Ответить с цитированием
  #4 (permalink)  
Старый 07.02.2014, 22:32
Аватар для Cuntmann
Аспирант
Отправить личное сообщение для Cuntmann Посмотреть профиль Найти все сообщения от Cuntmann
 
Регистрация: 26.01.2014
Сообщений: 74

иногда так хочется вырвать себе глаза и топтать их, топтать... молотком
Ответить с цитированием
  #5 (permalink)  
Старый 10.02.2014, 14:24
Аватар для TuxShot
Новичок на форуме
Отправить личное сообщение для TuxShot Посмотреть профиль Найти все сообщения от TuxShot
 
Регистрация: 01.12.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
А если текст вставили через copy/paste? То инпут должен быть пустой? А записываться должны только клавиши буков? А скажем Shift, Ctrl и тд?
Насчет копи/пасте - это исключено. Во внимание это не берется.

Только ввод текста (букв). Ctrl, Alt и т.д. не интерисует.

P.S. Чтобы было понятно - делаю примитимный (де-)кодировщик текста
(JS-переводит из букв в символы, PHP-закодированный код JavaScript-ом возращает обратно пользователю).
Ответить с цитированием
  #6 (permalink)  
Старый 10.02.2014, 14:48
Аватар для TuxShot
Новичок на форуме
Отправить личное сообщение для TuxShot Посмотреть профиль Найти все сообщения от TuxShot
 
Регистрация: 01.12.2013
Сообщений: 9

Нашел почти то, что мне и надо:
<script type="text/javascript">
function keypress(text)
{ //var n22 = n2.value;  

 str1 = "абвгде";
 str2 = "123456";
 for(i=0; i<str1.length; i++)
    {
  //  var reg = new RegExp("/"+str1.substr(i,1)+"/");
   // text = text.replace(reg, str2(i,1));
 // while (text.indexOf(str1[i])>=0)  
  text = text.replace(new RegExp(str1[i],"g"), str2[i]);
}
       
//n2.value = text;

//var coll = document.getElementsByTagName("input");
//for(var i=0; i<coll.length; i++) {
// if(coll[i].getAttribute("name") == "n2") {
   // coll[i].value = text;
// }
//}  

document.forms['www'].n2.value= text;
}
</script>

<form name="www">
<input name="n1" type="text" onKeyUp="keypress(this.value)" maxlength="20" size="20">  
<input name="n2" type="text" maxlength="20" readonly size="20">
</form>

Единственная проблема - кодируется все без разделения (тобеж нет дефиса между символами).
Сам не знаю как это можно реализовать. Помогите, если такое возможно реализовать!
Ответить с цитированием
  #7 (permalink)  
Старый 16.02.2014, 21:27
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,719

Сообщение от TuxShot
JS-переводит из букв в символы,
В клавиатуру?

Зная кодировку вы можете любой текст преобразовать не следя за нажатиями кнопок.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение значения input при смене значения select galart jQuery 4 30.01.2015 18:39
удалить элемент input с сохранением его значения в <td> Сергей1980 jQuery 1 29.08.2013 01:06
как прописать условия для полей input и textarea Nailya Общие вопросы Javascript 12 06.06.2013 15:48
При добавлении DOCTYPE "плывут" размеры input type=text Demath (X)HTML/CSS 4 08.07.2012 18:27
изменение картинок в зависимости от значения input jump91 Общие вопросы Javascript 2 30.01.2012 07:57