Javascript.RU

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

Пара простых вопросов от чайника

1. Есть два текстовых поля.
<textarea cols="80" style="width:100%;" rows="10" id="message1" name="message" class="postTextFl">first message</textarea>

с id message1 и message2 по аналогии.

2. Есть скрипт добавления сообщения на форум в специально отведенный раздел.

<script type="text/javascript">
function sendmessage(){
 alert('first step');
 $.get('/forum/1-1-1', function(data) { 
 $.post('/forum/1-1-1', { 
 p: '0', 
 a: '7', 
 jkd428: '1', 
 jkd498: '1', 
 message: <?> + <?>, 
 ahtml: '1', 
 frmt: '0', 
 smiles_on: '1', 
 signature_on: '0', 
 subscribe: '0', 
 fid: '1',
 tid: '1',
 ssid: $('input[name="ssid"]', data).val()
 }, function() {
 alert('second step');
 })
 })
}
</script>

событие отрабатывается по кнопке отправить.

Вопрос:
Как записать данные из полей message1 и message2, в переменную message, в JS коде.

Если можно, то короткий пример.
Ответить с цитированием
  #2 (permalink)  
Старый 28.02.2011, 10:23
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

function get_message(){
var i=1, message = new Array();
while(document.getElementById('message'+i)
message.push(document.getElementById('message'+i)); i++;
return message;
}
__________________
.

Последний раз редактировалось Skipp, 28.02.2011 в 10:26.
Ответить с цитированием
  #3 (permalink)  
Старый 28.02.2011, 10:27
Интересующийся
Отправить личное сообщение для xrsx Посмотреть профиль Найти все сообщения от xrsx
 
Регистрация: 28.02.2011
Сообщений: 10

Сообщение от Skipp Посмотреть сообщение
function get_message(){
var i=1, message = new Array();
while(document.getElementById('message'+i)
message.push(document.getElementById('message'+i)); i++;
return message;
}
Спасибо, сейчас попробую.
Ответить с цитированием
  #4 (permalink)  
Старый 28.02.2011, 10:36
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

если просто вставить, то у вас ничего не выйдет, так как эта функция просто возвращает массив объектов.
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 28.02.2011, 10:40
Интересующийся
Отправить личное сообщение для xrsx Посмотреть профиль Найти все сообщения от xrsx
 
Регистрация: 28.02.2011
Сообщений: 10

я так понимаю именно строка
message.push(document.getElementById('message'+i));

добавляет сообщения в массив, а строка
while(document.getElementById('message'+i)

получает текст.

но при попытке вывести получаемый текст через alert, у меня выдает..
Цитата:
Object HTML TEXTAreaElement
, а не текст сообщения..
и как следствие сообщение не добавляется
Ответить с цитированием
  #6 (permalink)  
Старый 28.02.2011, 10:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Сообщение от Skipp
while(document.getElementById('message'+i))
Скобка круглая пропущена
Ответить с цитированием
  #7 (permalink)  
Старый 28.02.2011, 10:41
Интересующийся
Отправить личное сообщение для xrsx Посмотреть профиль Найти все сообщения от xrsx
 
Регистрация: 28.02.2011
Сообщений: 10

Сообщение от Skipp Посмотреть сообщение
если просто вставить, то у вас ничего не выйдет, так как эта функция просто возвращает массив объектов.
Это я уже понял.
Подскажите, как правильно выполнить?
Ответить с цитированием
  #8 (permalink)  
Старый 28.02.2011, 10:44
Интересующийся
Отправить личное сообщение для xrsx Посмотреть профиль Найти все сообщения от xrsx
 
Регистрация: 28.02.2011
Сообщений: 10

кстати, не увидел условия по которому прекращается выполнение цикла
Ответить с цитированием
  #9 (permalink)  
Старый 28.02.2011, 10:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Вариант ....на всякий случай )))
function get_message() {
    var i = 1,message = '';
    while (document.getElementById('message' + i)) {
        message+=document.getElementById('message' + i).value;
        i++
    };
    return message;
}
Ответить с цитированием
  #10 (permalink)  
Старый 28.02.2011, 10:57
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Так правильно и выводит, так ка в массиве объекты
function get_message(){
var i=1, message = new Array();
while(document.getElementById('message'+i))
message.push(document.getElementById('message'+i)); i++;
return message;
}

а так будут значения

function get_message(){
var i=1, message = new Array();
while(document.getElementById('message'+i))
message.push(document.getElementById('message'+i)).value; i++;
return message;
}
__________________
.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пара вопросов по onClick yngwie19 Общие вопросы Javascript 3 17.08.2010 08:44
Пара вопросов 13rust jQuery 2 05.01.2010 16:22