Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.01.2013, 16:25
Аспирант
Отправить личное сообщение для useruser Посмотреть профиль Найти все сообщения от useruser
 
Регистрация: 20.01.2013
Сообщений: 34

Подскажите новичку
Вопрос, может и глупый, но как сделать перенос курсора в текстовом поле на новую строку? Гугл ответа не дал.
Нужно для цитирования
Часть кода цитирования
insert_text('
Сообщение от ' + username + '
' + theSelection + '
', '');
далее нужно сделать перенос.
\n результата не дало.
Ответить с цитированием
  #2 (permalink)  
Старый 20.01.2013, 16:48
Аспирант
Отправить личное сообщение для Axios Посмотреть профиль Найти все сообщения от Axios
 
Регистрация: 06.03.2011
Сообщений: 78

так не пробовал?

' + theSelection + '<br/>'
Ответить с цитированием
  #3 (permalink)  
Старый 20.01.2013, 17:23
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от useruser
но как сделать перенос курсора в текстовом поле на новую строку?
Приведите код скрипта и минимально-необходимый HTML
Ответить с цитированием
  #4 (permalink)  
Старый 20.01.2013, 17:46
Аспирант
Отправить личное сообщение для useruser Посмотреть профиль Найти все сообщения от useruser
 
Регистрация: 20.01.2013
Сообщений: 34

Axios, перенос не в отображении, а в текстовом поле, как будто нажали enter
Вот код
$(document).ready(function () {
    $("div.entry-content").mouseup(function (e) {
        username = $(this).parents("div.post:first").find(".myclass").text();

        var lang = (navigator.language || navigator.systemLanguage || navigator.userLanguage || 'en').substr(0, 2).toLowerCase();
        if (lang == 'ru') {
            quotetext = 'Цитировать выделенное';
        }
        else {
            quotetext = 'Quote selected';
        }

        if (window.getSelection) {
            theSelection = window.getSelection().toString();
        }
        else if (document.getSelection) {
            theSelection = document.getSelection();
        }
        else if (document.selection) {
            theSelection = document.selection.createRange().text;
        }

        $("#addQuote").remove();
        if (theSelection != false && e.which == 1 && username != false) {
            $("body").append('<div id="addQuote" style="left: ' + (e.pageX + 15) + 'px; top: ' + (e.pageY + 15) + 'px;">' + quotetext + '<div class="arrow-up"></div></div>');

            $("#addQuote").click(function () {
                $(this).animate({height:'0', opacity:'0'}, 350, function () {
                    $(this).remove();
                });
//Вот цитирование
                PUNBB.pun_bbcode.insert_text('[quote="' + username + '"]' + theSelection + '[/quote]', '');
//А здесь курсор должен перейти на новую строку
				
            });

            $("#addQuote").oneTime(3000, function () {
                if ($(this).is(':visible')) {
                    $(this).animate({height:'0', opacity:'0', left:'0'}, 350, function () {
                        $(this).remove();
                    });
                }
            });
        }
    });
});
Ответить с цитированием
  #5 (permalink)  
Старый 20.01.2013, 17:48
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

useruser,
Где минимально необходимые теги HTML ?
Ответить с цитированием
  #6 (permalink)  
Старый 20.01.2013, 18:03
Аспирант
Отправить личное сообщение для useruser Посмотреть профиль Найти все сообщения от useruser
 
Регистрация: 20.01.2013
Сообщений: 34

<font class="myclass">Тут имя пользователя</font>
<div class="entry-content">
<p>Тут текст сообщения, которое можно процитировать с помощью скрипта</p>
</div>
<--!Это текстовое поле, куда вставляется цитата -->
<div class="txt-input"><span class="fld-input"><textarea id="fld1" name="req_message" rows="7" cols="95" required spellcheck="true" ></textarea></span></div>

Последний раз редактировалось useruser, 20.01.2013 в 18:10.
Ответить с цитированием
  #7 (permalink)  
Старый 21.01.2013, 17:51
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<style>
.myclass{
 font-weight:700;
 color:#0000CC;
 padding:12px;
}
.entry-content{
  padding:12px;
  border:2px dashed #525A5F;
  margin:12px 0;
}
</style>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
function quote(username)
{
	var txt = '';
	
	if (window.getSelection)
	{
		txt = window.getSelection().toString();
	}
	else if (document.getSelection)
	{
		txt = document.getSelection();
	}
	else if (document.selection)
	{
		txt = document.selection.createRange().text;
	}
	
	if (txt == null || typeof(txt) == "undefined" || txt == '')
	{
		//alert('Не выделен текст для цитирования');
		return;
	}
	else
	{
		insert('Сообщение от: [b]' + username + '[b] - ' + txt + '\n');
	}
}

function mozWrap(txtarea, open, close)
{
	var selLength = txtarea.textLength;
	var selStart = txtarea.selectionStart;
	var selEnd = txtarea.selectionEnd;
	var scrollTop = txtarea.scrollTop;

	if (selEnd == 1 || selEnd == 2) 
	{
		selEnd = selLength;
	}

	var s1 = (txtarea.value).substring(0,selStart);
	var s2 = (txtarea.value).substring(selStart, selEnd)
	var s3 = (txtarea.value).substring(selEnd, selLength);

	txtarea.value = s1 + open + s2 + close + s3;
	txtarea.selectionStart = selEnd + open.length + close.length;
	txtarea.selectionEnd = txtarea.selectionStart;
	txtarea.focus();
	txtarea.scrollTop = scrollTop;

	return;
}

function insert(text, spaces, popup)
{
	var textarea;
	
	if (!popup) 
	{
		textarea = $("#fld1").get(0);
	} 
	else 
	{
		textarea = opener.$("#fld1").get(0);
	}
	if (spaces) 
	{
		text = ' ' + text + ' ';
	}
	
	if (!isNaN(textarea.selectionStart))
	{
		var sel_start = textarea.selectionStart;
		var sel_end = textarea.selectionEnd;

		mozWrap(textarea, text, '')
		textarea.selectionStart = sel_start + text.length;
		textarea.selectionEnd = sel_end + text.length;
	}
	else if (textarea.createTextRange && textarea.caretPos)
	{
		if (baseHeight != textarea.caretPos.boundingHeight) 
		{
			textarea.focus();
			storeCaret(textarea);
		}

		var caret_pos = textarea.caretPos;
		caret_pos.text = caret_pos.text.charAt(caret_pos.text.length - 1) == ' ' ? caret_pos.text + text + ' ' : caret_pos.text + text;
	}
	else
	{
		textarea.value = textarea.value + text;
	}
	if (!popup) 
	{
		textarea.focus();
	}
}
$(document).ready(function(){
 $("div.entry-content").mouseup(function () {
   var username=$(this).prev('.myclass').text();
   quote(username);
 });
});
</script>



<font class="myclass">Имя пользователя 1</font>
<div class="entry-content">
<p>Тут текст сообщения, которое можно процитировать с помощью скрипта</p>
</div>

<font class="myclass">Имя пользователя 2</font>
<div class="entry-content">
<p>Тут текст сообщения, которое можно процитировать с помощью скрипта</p>
</div>
<!--textarea  для вставки  -->
<div class="txt-input"><span class="fld-input"><textarea id="fld1" name="req_message" rows="7" cols="95" required spellcheck="true" ></textarea></span></div>

Последний раз редактировалось Deff, 26.01.2013 в 00:19.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите новичку! Установка css только для 1 элемента Илья! (X)HTML/CSS 1 26.06.2012 01:42
Подскажите по новичку с проверкой if/else в jQyuery shmep jQuery 2 14.12.2010 13:14
Подскажите плизз с выбором селектора для select option frolvict jQuery 2 13.11.2010 15:29
подскажите новичку пожалуйста с вставкой в форму marlic Элементы интерфейса 4 02.11.2009 13:48
подскажите новичку абрамович Общие вопросы Javascript 8 17.12.2008 22:16