Как записать на следующую строку в текстовом поле в javascript

#javascript #asp.net #visual-studio #textbox

#javascript #asp.net #visual-studio #текстовое поле

Вопрос:

Мой код записывает в текстовое поле и отображает разные строки текста с помощью функции setTimeout . Но каждый раз, когда он пишет, он заменяет исходный текст новым текстом. Чего бы мне действительно хотелось, так это продолжить запись с новой строки. Я очень новичок в javascript, поэтому мне нужна небольшая помощь в этом. Вот мой код до сих пор:

 putftp.onclick = function () {
    var Text = document.getElementById("TextBox");

    function firsttext() {
        Text.innerHTML = "This is the first test.";
        setTimeout(secondtest, 3000);
    }
    function secondtest() {
        Text.innerHTML = "This is the second test.";
        setTimeout(thirdtest, 5000);
  

Я бы хотел, чтобы результат был

Это первый тест.

Это второй тест.

вместо

Это второй тест.

Любая помощь будет принята с благодарностью!!

Ответ №1:

Вам нужно будет объединить содержимое innerHTML вместе. В настоящее время вы просто меняете его значение:

 Text.innerHTML  = "<br />This is the second test.";
  

Комментарии:

1. = продолжает код, и большое спасибо за это. Но по какой-то причине он выдает ошибку с частью «<br />. Есть идеи, почему?

2. Возможно, проблема с экранированием символов. Какой браузер генерирует сообщение об ошибке и в чем заключается ошибка? Вы видите ошибку здесь: jsfiddle.net/mXrGG

3. Нет, я не. Что смущает меня еще больше! лол. Моя ошибка возникает здесь Text.innerHTML = «<br />Это второй тест.»; он говорит, что это какая-то ошибка времени выполнения. Я, честно говоря, понятия не имею, потому что ваш код правильный. Это интересно, потому что, когда я убираю <br />, он работает просто отлично.

4. ок, новый результат. IE запускает среду выполнения. Firefox не добавляет новую строку, а также записывает <br /> , но мне это нужно для запуска в IE. Я постараюсь устранить неполадки.

Ответ №2:

Вы заменяете текст, а не добавляете к тому, что у него было. Если вы хотите добавить строки, объедините текущий HTML-код с новым, который вы хотите добавить:

 putftp.onclick = function () {
var Text = document.getElementById("TextBox");

function firsttext() {
    Text.innerHTML =Text.innerHTML  "This is the first test.";
    setTimeout(secondtest, 3000);
}
function secondtest() {
    Text.innerHTML = Text.innerHTML "This is the second test.";
    setTimeout(thirdtest, 5000);