Вход

Просмотр полной версии : Ajax. Не выводит переменную


wild_wind
14.06.2012, 11:53
Доброго времени суток господа. Есть такой запрос

$("td.take").click(function() {
var sid = ($(this).attr("id"));

$$a({
type:'post',//тип запроса: get,post либо head
url:'ajax.php',//url адрес файла обработчика
data:{'sid':$sid.val()},//параметры запроса
response:'text',//тип возвращаемого ответа text либо xml
success:function (data) {//возвращаемый результат от сервера
$$('result',$$('result').innerHTML+'<br />'+data);
}
});

});

и вот такой кусочеГ кода:

if(isset($_POST['sid'])){
echo $_POST['sid'];
} else echo "Bad POST request ";

При нажатии на ячейку td.take по идее должен передаваться ее id.
И выводить в блок результ. Но при нажатии в блоке результ выводятся только <br-ы>. Причину не как не пойму :help: т.к недавно подсел на js. Подскажите плз где ошибся или в какую сторону читать/курить/смотреть :)

ILL-JAH
14.06.2012, 14:21
Если я не ошибоюсь, то можно так
$('td.take').innerHTML = '<br />' + data;
или так
$('td.take').html('<br />' + data);

чтобы убедиться, что data не пустая, после 9-ой строчки вставте alert(data); и посмотрите, что будет выводиться.

wild_wind
14.06.2012, 14:58
спс =) разобрался =)

еще есть такой вопрос. код ниже. при первом клике не выводит "alert".
в коде описано выделение и снятие выдиления. вот когда выделяешь алерт не происходит, а когда снимаешь появляется алерт.

да и как корректно передать переменную sid =)


$(".listtable tr").click(function(){
if($(this).is(".click")){
$(this).removeClass("click");


/* $$a({
type:'post',//тип запроса
url:'add.php',//url адрес файла обработчика
data:{'trid':$sid},//параметры запроса
success:function (data) {//возвращаемый результат от сервера
alert ($sid);
}


}); */

} else { $(this).addClass("click");
$("td.take").click(function() {

var sid = ($(this).attr("id"));


alert (sid);
/* $$a({
type:'post',//тип запроса
url:'add.php',//url адрес файла обработчика
data:{'trid':$sid},//параметры запроса
success:function (data) {//возвращаемый результат от сервера
alert ($sid);
}
}); */


});
}
});

ILL-JAH
14.06.2012, 18:44
Вообще лично мне трудно понять из ваших слов, что вам нужно. Что должен делать ваш скрипт? Чтобы прикрутить к какому-либо элементу обработчики на события выделения (focus) и снятия выделения (blur) используйте в jQuery метод bind(). Но focus и blur - это для полей ввода текста и подобных элементов. Если вы хотите выделить какой-то div (например), тут нужны обработчики на mouseup и mousedown. Есть в jQuery метод toggle(). Как понятно из его названия он работает как переключатель. Вобщем почитайте книжки по jQuery. На русском есть несколько штук. Например "Бер Бибо, Иегуда Кац - jQuery. Подробное руководство по продвинутому JavaScript". Всего-то 373 страницы :) Там всё очень просто. Вы быстро разберётесь.

wild_wind
14.06.2012, 19:00
спасибо.. буду разбирать)