Javascript.RU

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

JS считать последнию введеную textarea строку
Добрый день, помогите решить задачу, нужно сделать подобие соц опросника на сайте, сайт спрашивает, а юзер отвечает(нужно именно строковый вариант,никаких кнопок, других полей и тп) и еще должны проверить на правильность ответ, т.к я только сегодня начал работать с js и тп, то кучу сразу вопросов. Начал я делать с помощью textarea, вывожу текст, но вот как считать именно последний ? тобишь, можно вродь как считать так текст :

var tex=document.getElementById('tt').value;

но оно возьмет все. Вот, что я накодил :

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Стили</title>

 </head>
 <body>

<div class="fixed-textarea"> <textarea name ="tt" id="tt" style="height: 100%;width: 100%;" > </textarea></div>

<script language="JavaScript">
var text = '>> Сколько лет земле ? \r\n >> '
var i=0;
function type(){

    i++;
    if( i <= text.length )
        document.getElementById("tt").innerHTML = text.substr(0, i);

    setTimeout( type, 50 );
}

function one(){

    var k= Math.random();

var tex=document.getElementById('tt').value;
    setTimeout( type, 10 );
}

type();

</script>

 </body>
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 06.07.2016, 23:27
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

Плюс минус как-то так

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Стили</title>

 </head>
 <body>

<div class="fixed-textarea"> <textarea name ="tt" id="tt" style="height: 100%;width: 100%;" > </textarea></div>

<div id="result"></div>   
<script language="JavaScript">
var text = '>> Сколько лет земле ? \r\n >> ',
    i=0,
     textInput = document.getElementById("tt"),
    result = document.getElementById("result");
function type(){

    i++;
    if( i <= text.length )
        document.getElementById("tt").innerHTML = text.substr(0, i);

    setTimeout( type, 50 );
}

function one(){

    var k= Math.random();

var tex=document.getElementById('tt').value;
    setTimeout( type, 10 );
}

type();
  
textInput.addEventListener('keyup', function(e){
  var answer = e.target.value.split('>>')
  result.innerHTML = answer[answer.length-1]
})  
  
</script>

 </body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 06.07.2016, 23:40
Новичок на форуме
Отправить личное сообщение для lolidze Посмотреть профиль Найти все сообщения от lolidze
 
Регистрация: 06.07.2016
Сообщений: 9

спасибо большое. Кстати, не подскажите, почему, когда я делаю вот так :
<script language="JavaScript">
var text = '>> Сколько лет земле ? \r\n >> '
var i=0;
function type(tx){

    i++;
    if( i <= tx.length )
        document.getElementById("tt").innerHTML = tx.substr(0, i);

    setTimeout( type, 50 );
}

type(text);

</script>


оно не верно отображает ? тобишь, я хочу посылать в функию сам текст, который он должен выводить
Ответить с цитированием
  #4 (permalink)  
Старый 06.07.2016, 23:50
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Царь Леонид,
А зачем функция one?
Ответить с цитированием
  #5 (permalink)  
Старый 06.07.2016, 23:55
Новичок на форуме
Отправить личное сообщение для lolidze Посмотреть профиль Найти все сообщения от lolidze
 
Регистрация: 06.07.2016
Сообщений: 9

эт я тестил, он просто не удалил)
Ответить с цитированием
  #6 (permalink)  
Старый 06.07.2016, 23:59
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

Сообщение от lolidze
тобишь, я хочу посылать в функию сам текст, который он должен выводить
зачем?)
Ответить с цитированием
  #7 (permalink)  
Старый 07.07.2016, 00:02
Новичок на форуме
Отправить личное сообщение для lolidze Посмотреть профиль Найти все сообщения от lolidze
 
Регистрация: 06.07.2016
Сообщений: 9

всм ? ну, текст для вывода у меня будет не один (после прочтения строки и тп вывести еще одну) и не логично было бы для каждого текста функцию создавать (как у меня щас работает).
Ответить с цитированием
  #8 (permalink)  
Старый 07.07.2016, 00:20
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

lolidze,
<script language="JavaScript">
var text = '>> Сколько лет земле ? \r\n >> ';
var i=0;
function type(tx){

    i++;
    if( i <= tx.length )
        document.getElementById("tt").innerHTML = tx.substr(0, i);

    setTimeout(function() {
        type(tx);
    }, 50);
    
}

type(text);

</script>
Ответить с цитированием
  #9 (permalink)  
Старый 07.07.2016, 00:31
Новичок на форуме
Отправить личное сообщение для lolidze Посмотреть профиль Найти все сообщения от lolidze
 
Регистрация: 06.07.2016
Сообщений: 9

спасибо большое
Ответить с цитированием
  #10 (permalink)  
Старый 07.07.2016, 00:37
Новичок на форуме
Отправить личное сообщение для lolidze Посмотреть профиль Найти все сообщения от lolidze
 
Регистрация: 06.07.2016
Сообщений: 9

Сообщение от Царь Леонид Посмотреть сообщение
Плюс минус как-то так

<html>
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>Стили</title>

 </head>
 <body>

<div class="fixed-textarea"> <textarea name ="tt" id="tt" style="height: 100%;width: 100%;" > </textarea></div>

<div id="result"></div>   
<script language="JavaScript">
var text = '>> Сколько лет земле ? \r\n >> ',
    i=0,
     textInput = document.getElementById("tt"),
    result = document.getElementById("result");
function type(){

    i++;
    if( i <= text.length )
        document.getElementById("tt").innerHTML = text.substr(0, i);

    setTimeout( type, 50 );
}

function one(){

    var k= Math.random();

var tex=document.getElementById('tt').value;
    setTimeout( type, 10 );
}

type();
  
textInput.addEventListener('keyup', function(e){
  var answer = e.target.value.split('>>')
  result.innerHTML = answer[answer.length-1]
})  
  
</script>

 </body>
</html>

а моежете подсказать, как считать только окончательный ответ ? тобишь, когда уже дописал и нажал ентер (к примеру). просто мне приходится сравнивать результат набранный с клавиатуры, а так как он по символьно, то не оч хорошо получается. Можете подсказать ?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевод на новую строку JS воспринимает как объект DOM Rig Events/DOM/Window 6 26.12.2011 20:08
как записать строку в атрибут тега из js DmitryT Элементы интерфейса 5 21.03.2011 10:50
в textarea много javascript, обрамленного js - тегами belbek Серверные языки и технологии 4 05.05.2010 16:58
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
(JS) textarea Mila Общие вопросы Javascript 9 15.07.2009 18:10