2009-05-26 1 views
2

У меня есть текстовое поле INPUT.Добавить INPUT to TEXTAREA как введенный в JQuery

Как кто-то вводит в текстовое поле INPUT, мне нужно его добавить/добавить значение TEXTAREA.


Скажем, пользовательские типы «12345» в текстовое поле.

Текстовое поле (значение по умолчанию = "Комментарий:") автоматически добавит: «Комментарий: 12345». Добавляем '12345' по мере их ввода.

ответ

1

Предполагая area это идентификатор вашего текстового поля и text идентификатор вашего текстового поля,

$(function() { 

    var areaText = $('#area').val(); 

    $('#text').bind('keyup keypress', function() { 
     $('#area')[0].value = areaText + $(this)[0].value; 
    }); 

}); 
  • Working Example here добавить /редактировать к URL, чтобы играть на примере
+0

Отлично работает, спасибо за пример. – Ricky

0
$('#your_input').bind('keypress', function(event) { 
    var char_code = event.which ? event.which : window.event.keyCode; 
    var char = String.fromCharCode(char_code); 
    $('#your_textarea').value += char; 
}); 
+0

забоя доном; т работу, как ожидалось, но это близко –

+0

То, что дает мне: Uncaught SyntaxError: Неожиданный конец ввода – Ricky

+0

Erm, извините. Отключен код завершения. Должно быть лучше сейчас. Для backspaces вам нужно немного поучаствовать в этом. – chaos

1

Russ Cam отсутствует кромка края - вы можете перетаскивать текст в поля ввода и внутри выделения и перетаскивания, которые не учитываются в его коде.

Ниже код, который охватывает этот случай:

$(function() { 

    var areaText = $('#area').val(); 

    $('#text').bind('keyup keypress drop', dropfunction() { 
     $('#area')[0].value = areaText + $(this)[0].value; 
    }); 

}); 

Тем не менее, есть еще один крайний случай, который удаляет и манипулируя с помощью контекстного меню. На данный момент я не могу видеть способ обнаружить выбор взаимодействия контекстного меню ... Вы можете отключить его, если это важно, используя следующий код

$('#text').bind('contextmenu', function() { 
    return false 
});