Jump to content
  • 0

Автоматический переход в конец textarea


Ser_UFL
 Share

Question

8 answers to this question

Recommended Posts

  • 0
Есть страница с текстом в тегах textarea.

Как можно при открытии страницы автоматически прокрутить этот текст к последней строке в textarea?

Заранее спасибо.

Можно. Играться с селекшинами.

Link to comment
Share on other sites

  • 0

Спасибо. Нашел в другом разделе..

Смена позиции каретки:

function setCaretPosition (elem, caretPos) {
if (document.selection) { // ie
elem.focus ();
var range = document.selection.createRange ();
range.moveStart ('character', -elem.value.length);
range.moveStart ('character', caretPos);
range.moveEnd ('character', 0);
range.select ();
} else if (elem.selectionStart || elem.selectionStart == '0') { // Mozilla
elem.selectionStart = caretPos;
elem.selectionEnd = caretPos;
elem.focus ();
}
}

К моему сожалению, я не понимаю, надо ли здесь что-то изменить в моей ситуации и куда конкретно прописать скрипт.. Если подскажите по этим моментам, буду очень признателен.

Edited by Ser_UFL
Link to comment
Share on other sites

  • 0

Я так понимаю перед самим textarea надо прописать что-то вроде:

<script type="text/javascript">
function setCaretPosition (elem, caretPos) {
if (document.selection) { // ie
elem.focus ();
var range = document.selection.createRange ();
range.moveStart ('character', -elem.value.length);
range.moveStart ('character', caretPos);
range.moveEnd ('character', 0);
range.select ();
} else if (elem.selectionStart || elem.selectionStart == '0') { // Mozilla
elem.selectionStart = caretPos;
elem.selectionEnd = caretPos;
elem.focus ();
}
}
</script>

В этом скрипте надо прописать что-то подобное

document.getElementById("area");

А в тег textarea добавить id="area"

Но как конкретно это сделать и что нужно изменить в скрипте, я пока не понял..

Link to comment
Share on other sites

  • 0

Что-то типа такого:

function setCaretPosition (elem, caretPos) {
if (document.selection) { // ie
elem.focus ();
var range = document.selection.createRange ();
range.moveStart ('character', -elem.value.length);
range.moveStart ('character', caretPos);
range.moveEnd ('character', 0);
range.select ();
} else if (elem.selectionStart || elem.selectionStart == '0') { // Mozilla
elem.selectionStart = caretPos;
elem.selectionEnd = caretPos;
elem.focus ();
}
}

setCaretPosition (document.getElementById("area"), document.getElementById("area").innerHTML.length);

Link to comment
Share on other sites

  • 0

Great Rash, пишу:

<script type="text/javascript"> 
function setCaretPosition (elem, caretPos) {
if (document.selection) { // ie
elem.focus ();
var range = document.selection.createRange ();
range.moveStart ('character', -elem.value.length);
range.moveStart ('character', caretPos);
range.moveEnd ('character', 0);
range.select ();
} else if (elem.selectionStart || elem.selectionStart == '0') { // Mozilla
elem.selectionStart = caretPos;
elem.selectionEnd = caretPos;
elem.focus ();
}
}
setCaretPosition (document.getElementById("area"), document.getElementById("area").innerHTML.length);
</script>
<textarea id="area" rows=25 cols=100 readonly>
Тут большой текст
</textarea>

Нет реакции. Открывается страница, каретка стоит на первой строке, проверил в разных браузерах.

Edited by Ser_UFL
Link to comment
Share on other sites

  • 0

Great Rash, спасибо, что не проходите мимо.

Видимо я совершенно неверно понимал значение слов "положение каретки", мой косяк..

Мне нужно автоматически передвинуть полосу прокрутки в textarea в самый низ.. Возможно ли такое?

И еще один вопрос (простите за навязчивость):

Имея этот большой_текст внутри textarea, как можно отобразить не весь текст, а только последние N строк этого текста?

Спасибо.

Link to comment
Share on other sites

  • 0

По перовому вопросу наконец-то нашёл решение на одном зарубежном форуме..

Может кому-то пригодится:

textAreaObject.scrollTop=textAreaObject.scrollHeight;

Но насчет:

Имея этот большой_текст внутри textarea, как можно отобразить не весь текст, а только последние N строк этого текста?

Пока пусто.. Надеюсь на вашу помощь..

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy