Вход

Просмотр полной версии : копирование текста из ячейки таблицы в textarea


racoon
22.07.2013, 17:59
Пусть в таблицу загружен список пользователей чата. по щелчку на какой-либо строке списка в textarea (поле для ввода своих сообщений) копируется ник пользователя и дальше набирается сообщение. как реализовать это копирование?

Solonik
22.07.2013, 18:17
Так вряд ли кто даст готовый вариант. Нужно видеть как это всё реализовано скорее всего из кода нужно выдирать переменную с именем и вставлять её в текстовое поле.

animhotep
22.07.2013, 18:18
вопрос чисто абстрактый или это реальная задача
если реальная то хотябы хтмл код предоставьте

racoon
22.07.2013, 18:39
function loadUsers(){
var tableEl=document.getElementById("userList");
for (var i=0; i<userList.length; i++) {
var tdUser=document.createElement("td");
var tr=document.createElement("tr");
tdUser.innerHTML=userList[i].nick;
tr.appendChild(tdUser);
tableEl.appendChild(tr);
}
}

<TR >

<TD width="20%" height="60%" border="3" valign="top">
<DIV style="overflow-y:scroll; height:300">
<TABLE border="3" height="100%" width="100%" align="top" id="userList">

</TABLE>
</DIV>
</TD>
</TR >
<FORM action='#' method="post" onsubmit="sendMessage()">
<TR>
<TD colspan="2" width="70%" height="40%" border="3">
<TEXTAREA name="text" id="currentMessage" rows="10" cols="150" maxlength="1000" style="resize:none"></TEXTAREA>
</TD>
</TR>
<TR>
<TD colspan="2">

<INPUT type="submit" value="Send">
</INPUT>

</TD>
</TR>
</FORM>

таблица заполнялась с помощью loadUsers(). как из нее потом вытащить текст из строчки, по которой щелкнули. чтобы вставить потом в textarea как-то так:
function copyNick(){
var tableEl=document.getElementById("userList");
strNick=???
currentMessage.value +=strNick;
}

рони
22.07.2013, 19:47
racoon,
:write:
<!DOCTYPE HTML>

<html>

<head>
<title>Untitled</title>
</head>
<body>
<table>
<TR >

<TD width="20%" height="60%" border="3" valign="top">
<DIV style="overflow-y:scroll; height:300">
<TABLE border="3" height="100%" width="100%" align="top" id="userList">

</TABLE>
</DIV>
</TD>
</TR >
<FORM action='#' method="post" onsubmit="sendMessage()">
<TR>
<TD colspan="2" width="70%" height="40%" border="3">
<TEXTAREA name="text" id="currentMessage" rows="10" cols="150" maxlength="1000" style="resize:none"></TEXTAREA>
</TD>
</TR>
<TR>
<TD colspan="2">

<INPUT type="submit" value="Send">
</INPUT>

</TD>
</TR>
</FORM>
<script>
var userList = [{'nick':'-NeMo'},{'nick':'DeaD_GirL'},{'nick':'NEQATIF'}]
function loadUsers(){
var tableEl=document.getElementById("userList");
for (var i=0; i<userList.length; i++) {
var tdUser=document.createElement("td");
var tr=document.createElement("tr");
tdUser.innerHTML=userList[i].nick;
tdUser.onclick = copyNick
tr.appendChild(tdUser);
tableEl.appendChild(tr);
}
}
function copyNick(){
var tableEl=document.getElementById("userList");
var currentMessage = document.getElementById('currentMessage')
var strNick=this.innerHTML+' '
currentMessage.value +=strNick;
}
loadUsers()
</script>
</table>
</body>

</html>

racoon
22.07.2013, 22:17
Спасибо!