|
[jQ] Сложить 2 циферки
|
|
| mob_dp | Дата: 21 Апреля 2009, 21:49 | Сообщение # 1 | ● ● ● ● ● 4112 сообщений Статус: Offline | На странице пользователя есть вот такая штука: Code <div id="UserActivities" style="display: none; "><?if($_FORUM_ENTRIES$)?>$_FORUM_ENTRIES$<?else?>0<?endif?><?if($_LOAD_ENTRIES$)?>+$_LOAD_ENTRIES$*10<?endif?> <?if($_GROUP_ID$='3' || $_GROUP_ID$='4' || $_GROUP_ID$='5')?>+10000<?endif?><?if($_AOL$>0 && $_AOL$<$_FORUM_ENTRIES$)?>+$_AOL$*10<?endif?></div> Реально получается чтото типо: Code <div id="UserActivities" style="display: none; ">838+30+10000+1790</div> И теперь уже такая: Code <a href="/forum/0-1-1-3-$_USER_ID$" class="acclink" id="threat" target="_blank">---</a> $.post('/forum/', {user: '$_USERNAME$', o1: 1, o2:0 , a: 6}, function(data){$('#threat').html(data.match(/Найдено <b>(\d+)<\/b> тем/)[1]);}); После постинга появляется еще одна циферка. На странице форума вот такой код забирает данные: Code $.get('/index/8', {}, function (Res) { var MyActivities = eval($('#UserActivities', Res).html()) Т.е. переменная берет значение содержимого #UserActivities, а нужно: содержимое #UserActivities + то что выдает $.post() Пытался данные из $.post() закидывать куда то на страницу, а потом через document.getElementById('id').innerHTML прибавлять к переменнлй MyActivities, почему то не получилось, но я уверен что можно сделать проще, без внесения данных на html страницу. | | |
|
| Бармалей | Дата: 22 Апреля 2009, 06:08 | Сообщение # 2 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Code $.get('/index/8', {}, function(Res){ eval('var MyActivities = '+$('#UserActivities', Res).html()) });
 | | |
|
| mob_dp | Дата: 22 Апреля 2009, 11:29 | Сообщение # 3 | ● ● ● ● ● 4112 сообщений Статус: Offline | Видимо я все таки плохо объяснил суть... Грубо говоря задачу можно описать так: Code a = $('#UserActivities', Res).html(); b = $.post('/forum/', {user: '$_USERNAME$', o1: 1, o2:0 , a: 6}, function(data){$('#threat').html(data.match(/Найдено <b>(\d+)<\/b> тем/)[1]);}); с = a + b Т.е. нужно сложить то что получается в результате подгрузки данных со страницы юзера + то что получается после $.post() Проблема: $.post() записывает цифру в #threat, а нужно ее прибавить в переменную MyActivities | | |
|
| Бармалей | Дата: 22 Апреля 2009, 12:40 | Сообщение # 4 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Ну так в чем проблема? Так трудно сложить 2 переменных? Только мне не понятно зачем записывать в переменную b указатель на XMLHttpRequest.
 | | |
|
| mob_dp | Дата: 22 Апреля 2009, 12:47 | Сообщение # 5 | ● ● ● ● ● 4112 сообщений Статус: Offline | Так трудно сложить 2 переменных? ага Я с этим $.post() вообще не работал, в коде ванофутура цифра записывается с объект #threat, а как ее добавить в переменную я не знаю А записывать ее сначала в #threat а потом доставать через Code document.getElementById('#threat').innerHTML как то тупо  | | |
|
| Бармалей | Дата: 22 Апреля 2009, 13:00 | Сообщение # 6 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Мда...Code a = $('#UserActivities', Res).html(); $.post('/forum/', {user: '$_USERNAME$', o1: 1, o2:0 , a: 6}, function(data){ b = data.match(/Найдено <b>(\d+)<\/b> тем/i)[1]; MyActivities = a + b; alert(MyActivities); });
 | | |
|
| mob_dp | Дата: 22 Апреля 2009, 22:30 | Сообщение # 7 | ● ● ● ● ● 4112 сообщений Статус: Offline | Вроде работает, но в половине случаев вылетает такая зараза: | | |
|
| Vanofuture | Дата: 22 Апреля 2009, 23:14 | Сообщение # 8 |  ● ● ● ● ● Все админы едят апельсины 1650 сообщений Статус: Offline | Code var tc = data.match(/Найдено <b>(\d+)<\/b> тем/i)[1]||0; | | |
|
| mob_dp | Дата: 22 Апреля 2009, 23:20 | Сообщение # 9 | ● ● ● ● ● 4112 сообщений Статус: Offline | Vanofuture, выкрутился вот так: Code $.post('/forum/', {user: cun, o1: 1, o2:0 , a: 6}, function(data){ if(data.match(/Тем, соответствующих вашему запросу, не найдено/i)) var tc = 0; else var tc = data.match(/Найдено <b>(\d+)<\/b> тем/i)[1]; Сейчас твой вариант попробую...Добавлено (22 Апрель 2009, 23:20) --------------------------------------------- Vanofuture, не работает твой вариант почему то... | | |
|
| NecroProger | Дата: 22 Апреля 2009, 23:23 | Сообщение # 10 |  ● ● ● ● ● 1024 сообщения Статус: Offline | mob_dp, нда... Ты вызываешь довольно медленную функцию match 2 раза...  | | |
|
| mob_dp | Дата: 22 Апреля 2009, 23:29 | Сообщение # 11 | ● ● ● ● ● 4112 сообщений Статус: Offline | NecroProger, она вызывается раз в 10 минут, так что не смертельно. | | |
|
| Бармалей | Дата: 23 Апреля 2009, 05:50 | Сообщение # 12 | ● ● ● ● ● Тиран 7772 сообщения Статус: Offline | Code $.post('/forum/', {user: cun, o1: 1, o2:0 , a: 6}, function(data){ var tc = 0; if(data.match(/Найдено <b>(\d+)<\/b> тем/i)) tc = RegExp.$1;
 | | |
|
| mob_dp | Дата: 23 Апреля 2009, 16:27 | Сообщение # 13 | ● ● ● ● ● 4112 сообщений Статус: Offline | Бармалей, отличный вариант! Ессно работает. | | |
|