|
post запрос - гостевая книга.
|
|
| G-XPert | Дата: 12 Февраля 2010, 22:17 | Сообщение # 21 | ● ● ● ● ● 139 сообщений Статус: Offline | uWeb, вообще по идее можно так: Code $('#numi + input')attr('name'); Это выведет значение тега name поля стоящего после поля с айди "numi" - и это записать как параметр, а уже Code $('#numi + input', data).val() Как его значение. Но это конечно-же не работает. Не знаю как и куда правильно записать $('#numi + input')attr('name'); Так: Code $('#numi + input')attr('name'): $('#numi + input', data).val(), Не пашет. Пробовал выносить $('#numi + input')attr('name') в val, тоже никак. | | |
|
| uWeb | Отредактировал uWeb - Пятница, 12 Февраля 2010, 22:27 Дата: 12 Февраля 2010, 22:26 | Сообщение # 22 | ● ● ● ● ● 1135 сообщений Статус: Offline | $('#numi + input')attr('name') Code $('#numi + input').attr('name') | | |
|
| G-XPert | Дата: 12 Февраля 2010, 22:37 | Сообщение # 23 | ● ● ● ● ● 139 сообщений Статус: Offline | uWeb, да это описка. В шаблоне у меня правильно было. | | |
|
| cucYa | Дата: 13 Февраля 2010, 00:20 | Сообщение # 24 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Нет ни так, у меня есть вариант, проверял на чате хэлпера  | | |
|
| G-XPert | Дата: 13 Февраля 2010, 06:12 | Сообщение # 25 | ● ● ● ● ● 139 сообщений Статус: Offline | И как сделал? Поделишься? | | |
|
| cucYa | Дата: 13 Февраля 2010, 12:28 | Сообщение # 26 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | И как сделал? Поделишься? Руками, нет.  | | |
|
| G-XPert | Отредактировал G-XPert - Суббота, 13 Февраля 2010, 13:55 Дата: 13 Февраля 2010, 13:55 | Сообщение # 27 | ● ● ● ● ● 139 сообщений Статус: Offline | cucYa, хоть на мысль натолкни, теорию скажи  | | |
|
| cucYa | Дата: 13 Февраля 2010, 23:00 | Сообщение # 28 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Создаёшь объект вручную. | | |
|
| G-XPert | Дата: 14 Февраля 2010, 20:40 | Сообщение # 29 | ● ● ● ● ● 139 сообщений Статус: Offline | Всмысле вручную?Какой объект? | | |
|
| cucYa | Дата: 14 Февраля 2010, 22:10 | Сообщение # 30 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Code function gbdata (text, data) { // Тут функция, которая раскодирует былокод и превратит его в html-код кнопки. var mygbdata = {}; mygbdata['a'] = 8, mygbdata['message'] = text, mygbdata['поле'] = значение; // Заместо "поле" из html-кода кнопки берём её имя. }; | | |
|
| G-XPert | Отредактировал G-XPert - Четверг, 18 Февраля 2010, 16:58 Дата: 18 Февраля 2010, 16:54 | Сообщение # 31 | ● ● ● ● ● 139 сообщений Статус: Offline | Заместо "поле" из html-кода кнопки берём её имя. Name я вывел, получилось: $('input:last[type="hidden"]').attr('name'); И значение соответственно: $('input:last[type="hidden"]').attr('value'); Значит будет так: Code function gbdata (text, data) { var mygbdata = {}; mygbdata['a'] = 8, mygbdata['message'] = text, mygbdata[$('input:last[type="hidden"]').attr('name')] = $('input:last[type="hidden"]').attr('value'); }; Но куда это вставлять? У меня есть код: Code function getSession (data) { for (var i = 0, code = data.match(/_dS\('(.+)'\)/i)[1], _i = code.length - 1, session = ''; i < _i; i ++) { session += String.fromCharCode(code.charCodeAt(i) - code.substr(_i, 1)); } return session.match(/\d+/g); }; $.get('/gb/', function (data) { $.post('/gb/', { a: 8, sos: getSession(data), message: 'test', }); }); Он работает если для группы нет дополнительной защиты. В случае с айди сессии мы записали sos: getSession(data), А как это сделать в случае с дополнительной защитой? Добавлено (18 Февраль 2010, 16:54) --------------------------------------------- Нашёл тему с такой-же проблемой как у меня: http://helper.ucoz.ru/forum/26-6674-1 Бармалей сказал с помощью регэкспов можно, не знаете как? | | |
|
| cucYa | Дата: 18 Февраля 2010, 19:26 | Сообщение # 32 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | $('input:last[type="hidden"]').attr('name') Бред. | | |
|
| G-XPert | Отредактировал G-XPert - Четверг, 18 Февраля 2010, 20:15 Дата: 18 Февраля 2010, 20:19 | Сообщение # 33 | ● ● ● ● ● 139 сообщений Статус: Offline | Да, но работает. --- В любом случае проблема так и не решена тут и в этой теме… --- У нас есть $('input:last[type="hidden"]', data).val() - это выводит value того поля. Теперь главная задача вывести name этого поля и как-то записать в post запрос. В принципе $('input:last[type="hidden"]').attr('name') работает, но видимо post этого не понимает (замену (var) тоже). Вот и задача как-то получить name поля input:last[type="hidden"] и при этом чтобы это работало в post. cucYa, давай уже доведём до конца  Добавлено (18 Февраль 2010, 20:19) --------------------------------------------- Также решение можно будет дописать к этой статье. | | |
|
| cucYa | Дата: 18 Февраля 2010, 20:44 | Сообщение # 34 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | $('input:last[type="hidden"]').attr('name'); Вы хоть проверяли, что возвращает этот код? | | |
|
| G-XPert | Отредактировал G-XPert - Четверг, 18 Февраля 2010, 20:59 Дата: 18 Февраля 2010, 20:58 | Сообщение # 35 | ● ● ● ● ● 139 сообщений Статус: Offline | cucYa, конечно проверял. Возвращает то, что мне нужно - атрибут name того скрытого поля (оно является последним полем на странице с типом "hidden"). Добавлено (18 Февраль 2010, 20:58) --------------------------------------------- cucYa, кстати интересно получается: у гостей нет капчи и нет той дополнительной защиты, которая есть у пользователей. | | |
|
| cucYa | Дата: 18 Февраля 2010, 21:02 | Сообщение # 36 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Ну так в чём проблема? | | |
|
| G-XPert | Отредактировал G-XPert - Четверг, 18 Февраля 2010, 21:07 Дата: 18 Февраля 2010, 21:06 | Сообщение # 37 | ● ● ● ● ● 139 сообщений Статус: Offline | В том что не знаю как это правильно записать в post запрос. Code … a: 8, $('input:last[type="hidden"]').attr('name'): input:last[type="hidden"]').attr('value'), message: 'text', … Это не пашет. | | |
|
| uWeb | Дата: 18 Февраля 2010, 23:25 | Сообщение # 38 | ● ● ● ● ● 1135 сообщений Статус: Offline | G-XPert, Сделай через html + js | | |
|
| cucYa | Отредактировал cucYa - Пятница, 19 Февраля 2010, 00:55 Дата: 19 Февраля 2010, 00:53 | Сообщение # 39 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | G-XPert, Сделай через html + js LOL Code function gbdata (text, data) { // Тут функция, которая раскодирует былокод и превратит его в html-код кнопки. var mygbdata = {}; mygbdata['a'] = 8, mygbdata['message'] = text, mygbdata['поле'] = значение; // Заместо "поле" из html-кода кнопки берём её имя. return mygbdata; }; | | |
|
| G-XPert | Отредактировал G-XPert - Пятница, 19 Февраля 2010, 06:20 Дата: 19 Февраля 2010, 06:18 | Сообщение # 40 | ● ● ● ● ● 139 сообщений Статус: Offline | В случае с айди сессии мы записали sos: getSession(data), А как это сделать в случае с дополнительной защитой? Вот код: Code function getSession (data) { for (var i = 0, code = data.match(/_dS\('(.+)'\)/i)[1], _i = code.length - 1, session = ''; i < _i; i ++) { session += String.fromCharCode(code.charCodeAt(i) - code.substr(_i, 1)); } return session.match(/\d+/g); }; $.get('/gb/', function (data) { $.post('/gb/', { a: 8, sos: getSession(data), message: 'test', }); }); Куда тут вставить нужно? | | |
|