#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);