|
Не могу разобраться с $.get и $.post
|
|
| ESstudio | Дата: 02 Февраля 2010, 19:22 | Сообщение # 1 | ● ● ● ● ● 6 сообщений Статус: Offline | Привет. Есть доска объявлений, страница материала и комментариев. На странице ссылка, при клике нужно отредактировать данный материал, а именно добавить/заменить информацию в поле. Почитал, что смог у вас найти, про $.get и $.post, в принципе смысл понял, но скрипт мой не работает. Пробовал по-разному, на данный момент совсем отключил все поля кроме нужного для редактирования. Итого 2 поля - категория и aname. Вот код: Code $(document).ready(function(){ $("a.something").click(function(){ $.get('/board/0-0-0-$ID$-13', function(data){ $.post('/board/0-0-0-$ID$-13', { jkd498: '1', jkd428: '1', ocat: '1', aname: 'Pupkin', a: $('input[name="a"]', i).val(), id: $('input[name="id"]', i).val(), ssid: $('input[name="ssid"]', i).val(), numi: $('input[id="numi"]', i).val() }, function(){ alert('Выполнено!'); }); }); return false; }); }); Не знаю, нужно ли указывать id. а пробовал ставить просто 14, но разницы не заметил. Подскажите что я не так делаю. И еще не пойму, если мне скриптом надо редактировать только поле aname, а остальные оставить как есть, то в скрипте их пропустить просто, или надо указывать все? И еще вопрос, такого рода скрипт будет работать во всех браузерах? Спасибо. | | |
|
| Infamous | Отредактировал Infamous - Вторник, 02 Февраля 2010, 19:31 Дата: 02 Февраля 2010, 19:30 | Сообщение # 2 |  ● ● ● ● ● 1670 сообщений Статус: Offline | Quote a: $('input[name="a"]', i).val(), id: $('input[name="id"]', i).val(), ssid: $('input[name="ssid"]', i).val(), numi: $('input[id="numi"]', i).val() i исправить на data. $.post('/board/0-0-0-$ID$-13 Зачем на страницу материала постить? В /board надо. | | |
|
| ESstudio | Дата: 02 Февраля 2010, 19:48 | Сообщение # 3 | ● ● ● ● ● 6 сообщений Статус: Offline | не работает Code $(document).ready(function(){ $("a.something").click(function(){ $.get('/board/0-0-0-$ID$-13', function(data){ $.post('/board', { jkd498: '1', jkd428: '1', ocat: '1', aname: 'Pupkin', a: $('input[name="a"]', data).val(), id: $('input[name="id"]', data).val(), ssid: $('input[name="ssid"]', data).val(), numi: $('input[id="numi"]', data).val() }, function(){ alert('Выполнено!'); }); }); return false; }); }); | | |
|
| cucYa | Дата: 02 Февраля 2010, 19:50 | Сообщение # 4 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | А что вы пытаетесь запостить? | | |
|
| ESstudio | Отредактировал ESstudio - Вторник, 02 Февраля 2010, 20:31 Дата: 02 Февраля 2010, 20:30 | Сообщение # 5 | ● ● ● ● ● 6 сообщений Статус: Offline | Я хочу при нажатии на ссылку запостить в данный материал информацию в поле aname("Контактное лицо" по стандарту), и может быть, еще в несколько полей. Информацию буду брать из переменной, для пробы пока просто поставил текст. Для начала хочу разобраться с аяксом, а дальше уже подкорректирую, как мне надо. И момент, который я не понял: Если у меня в форме есть несколько полей, например: ocat(категория), title(тема), message(сообщение), aname("Контактное лицо"), email(мейл), и мне скриптом надо изменить только aname, а остальную инфу оставить нетронутой, то в скрипте достаточно или все-равно нужно писать Code ocat: $('input[name="ocat"]', data).val(), aname: 'Pupkin', title: $('input[name="title"]', data).val(), email: $('input[name="email"]', data).val(), ... ? | | |
|
| uWeb | Дата: 02 Февраля 2010, 21:12 | Сообщение # 6 | ● ● ● ● ● 1135 сообщений Статус: Offline | cucYa, он хочет отредактировать материал изменяя только одно поле остальную инфу оставить нетронутой | | |
|
| mob_dp | Дата: 02 Февраля 2010, 21:29 | Сообщение # 7 | ● ● ● ● ● 4112 сообщений Статус: Offline | ESstudio, $.get('/board/0-0-0-$ID$-13' это страница добавления в доску? | | |
|
| Infamous | Дата: 03 Февраля 2010, 09:00 | Сообщение # 8 |  ● ● ● ● ● 1670 сообщений Статус: Offline | это страница добавления в доску? Это страница редактирования материала. | | |
|
| mob_dp | Дата: 03 Февраля 2010, 13:29 | Сообщение # 9 | ● ● ● ● ● 4112 сообщений Статус: Offline | Code function(){ alert('Выполнено!'); }); epic fail 1. Может чего-то не хватать и будет ошибка 2. При посте юкоз выкидывает запуск аякс-окна с иконкой аякс-лоадер поэтому даже тут не факт что чтото добавится. | | |
|
| ESstudio | Дата: 03 Февраля 2010, 20:39 | Сообщение # 10 | ● ● ● ● ● 6 сообщений Статус: Offline | 2. При посте юкоз выкидывает запуск аякс-окна с иконкой аякс-лоадер поэтому даже тут не факт что чтото добавится. Если я правильно вас понял, то такие окна появляются и при добавлении, и при редактировании материала, поэтому думаю проблемы быть не должно. 1. Может чего-то не хватать и будет ошибка Ну а если редактировать таким способом? Code ocat: $('input[name="ocat"]', data).val(), aname: 'Pupkin', title: $('input[name="title"]', data).val(), email: $('input[name="email"]', data).val(), ... Тогда вроде все поля будут в норме? | | |
|
| mob_dp | Дата: 03 Февраля 2010, 20:54 | Сообщение # 11 | ● ● ● ● ● 4112 сообщений Статус: Offline | Если я правильно вас понял, то такие окна появляются и при добавлении, и при редактировании материала, поэтому думаю проблемы быть не должно. Правильно, а это значит ложное срабатывание функции success. Если я не ошибаюсь, нужно использовать функцию такого плана: Code $(status,'ajax').text() или Code $('ajax',status).text() или как то так. Тогда вроде все поля будут в норме? ну мало ли какие причины могут быть: запрос по пути потерялся, юзера понизили в правах, сессия истекла и юзер разлогинился и т.п. | | |
|
| ESstudio | Дата: 03 Февраля 2010, 21:23 | Сообщение # 12 | ● ● ● ● ● 6 сообщений Статус: Offline | Стоп. Если добавление и редактирование материалов в принципе идентично, то почему при редактировании должны быть проблемы? ну мало ли какие причины могут быть: запрос по пути потерялся, юзера понизили в правах, сессия истекла и юзер разлогинился и т.п. Ну это проблемы конечного юзера, их никак не исправишь. сли я не ошибаюсь, нужно использовать функцию такого плана Вот тут, если можно, поподробней. Я хочу понять, как правильно составить сам скрипт-запрос, который бы реально редактировал материал. И возможен ли вообще такой скрипт. | | |
|
| mob_dp | Дата: 03 Февраля 2010, 22:29 | Сообщение # 13 | ● ● ● ● ● 4112 сообщений Статус: Offline | то почему при редактировании должны быть проблемы? Такие же проблемы при добавлении никто не отменял. Если закрывать на них глаза - то они от этого не исчезнут. Ну это проблемы конечного юзера, их никак не исправишь. Ложная информация юзеру - это проблемы администратора сайта, и их нужно исправлять. который бы реально редактировал материал да он итак уже составлен, разве что можешь пройтись по переменным и проверить их значения в соотв со статьей, мы сейчас говорим о дебаге. | | |
|
| cucYa | Дата: 03 Февраля 2010, 22:39 | Сообщение # 14 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | Я в статью не добавлял редактирования (только для некоторых модулей), времени нет. | | |
|
| ESstudio | Отредактировал ESstudio - Четверг, 04 Февраля 2010, 17:13 Дата: 04 Февраля 2010, 17:12 | Сообщение # 15 | ● ● ● ● ● 6 сообщений Статус: Offline | Да в том то и дело, что скрипт не работает. Во всяком случае вчера вообще не работал. Сегодня еще раз попробовал - работает, если входить на сайт как юзер, а если как админ, то не работает Ничего не понимаю. Ложная информация юзеру - это проблемы администратора сайта, и их нужно исправлять. Я конечно согласен, что это плохо, но как их исправлять? | | |
|
| cucYa | Дата: 04 Февраля 2010, 18:03 | Сообщение # 16 |  ● ● ● ● ● Совращенный мальчик.7317 сообщений Статус: Offline | если как админ, то не работает Разные права доступа, разные поля. | | |
|