Задать вопрос
hackyoupeople
@hackyoupeople

Как сделать ввод textarea по нажатию Ener?

Что то я запутался и не получается сделать по нажатию клавиши Enter помогите пожалуйста! Не могу понять в чем причина.
</head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<body>
<div class="chat-place">
	<div class="info">
		<form action="" name="messages">
			<div class="row">
				<label>Имя: </label>
				<input type="text" id="nameField" />
			</div>
			<div class="row">
				<label>Текст: </label>
				<textarea type="text" id="textField"></textarea>
			</div>
			<div class="row"><input type="submit" value="go!"/></div>
		</form>
	</div>
	<div id="messages-field">
		<div class="leftmessage">
			<div id="message-box"></div>
			<div class="inner">Hello</div>
		</div>
	</div>
</div>
<script>
	window.onload = function(){
		    var socket = new WebSocket('ws://localhost:8080');
		    socket.onmessage = function(event){
			let mess = JSON.parse(event.data);
			//document.getElementById('nameField').value = '';
			document.getElementById('textField').value = '';
			$('.inner').prepend("<div ><span>"+mess.name+":"+mess.msg+"</span></div>");
		};
          <b>//ТАК РАБОТАЕТ</b>
 document.forms['messages'].onsubmit = function(){
            var text = $("#textField").val();
            if (text == '')
                document.getElementById('textField').value = '';
            else {
                let message = {
                    name: $("#nameField").val(),
                    msg: $("#textField").val(),
                };
                socket.send(JSON.stringify(message))
			}
			return false;
		}
	};
<b>// А ТАК НЕТ</b>
    $('#textField').keydown(function(e){
        if(e.keyCode === 13) {
            document.forms['messages']= function(){
                var text = $("#textField").val();
                if (text == '')
                    document.getElementById('textField').value = '';
                else {
                    let message = {
                        name: $("#nameField").val(),
                        msg: $("#textField").val(),
                    };
                    socket.send(JSON.stringify(message))
                }

            }
       }
    });

</script>
</body>
</html>
  • Вопрос задан
  • 84 просмотра
Подписаться 1 Простой Комментировать
Решения вопроса 1
max_front
@max_front
frontend
во втором случае вы пытаетесь хендлить нажатие enter в поле textarea, может вам все таки надо по нажатию enter в любой точке документа а не textarea ??
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы