X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Ajax запрос - как передать в функцию id?
toorr2p
toorr2p
Topic Starter сообщение 4.10.2009, 4:36; Ответить: toorr2p
Сообщение #1


Привет, решил попробовать Ajax в действии...
Пробовал на Mootools но так и невышло, а на Jquery получилось)), но не до конца то что мне хотелось, идея такая - нужно чтоб при клике на ссылке в функцию передавалось определенное значение (id=1), для кажной ссылки свое.

Для того чтобы в Ajax запрос подставлялось нужное значение(id) и я мог по нему вытаскивать пределенную статью из БД.
Сейчас у меня вот так - выбирается статья с id=1 и ее текс просто вставляется в контейнер, подскажите как передать значение в вызываемую функцию?

это index.php:

[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<title>fgfghfg</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#makeRequest").click(function(){

$.get("script.php", { id: "1" }, function(arr_art){
document.getElementById('preview').innerHTML = ''+ arr_art;
});

});
});
</script>

</head>

<body>
<div id="preview"></div>
<a href="#" id="makeRequest"> Clik me </a>
</body>
</html>[/php]

А это обработчик script.php:

[php]<?php
$db = mysql_connect ("localhost","toorr2p","***");
mysql_select_db ("cleverscript", $db);

if(isset($_GET['id'])){
$id = $_GET['id'];
$id = (int)$id;

$result = mysql_query ("SELECT * FROM article WHERE id=$id",$db);
$arr_art = mysql_fetch_array($result);
echo $arr_art['text'];
}
?>[/php]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 4.10.2009, 12:44; Ответить: ZiTosS
Сообщение #2


Вячеслав, А что тут сложного?
Пишем так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<title>fgfghfg</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">

function getArticle(idArticle){
$.get("script.php", { id: idArticle }, function(text){
document.getElementById('preview').innerHTML = text;
});
});

</script>

</head>

<body>
<div id="preview"></div>
<a href="java script: getArticle(1)"> Статья #1 </a>
<a href="java script: getArticle(2)"> Статья #2 </a>
<a href="java script: getArticle(3)"> Статья #3 </a>
</body>
</html>


Проверка на существование статьи с таким ID идёт на стороне сервера, то есть в файле к которому мы обращаемся с помощью Ajax. Главное нужно с осторожностью относится к присланным переменным из javascript, так как их можно и подменить.
Если точно знаем что в скрипт передаётся число, в PHP просто используем intval()

Добавлено:
Заметил что на слово javascript у IPB дурное влияние, он его разбивает на два
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 4.10.2009, 15:33; Ответить: toorr2p
Сообщение #3


Пробывал я и так, но не срабатывает ничего (( низнаю почему, кликаю на ссылки но ничго не происходит
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
sc2r2bey
sc2r2bey
сообщение 4.10.2009, 15:39; Ответить: sc2r2bey
Сообщение #4


а что дэббагер говорит?
кстати может проблема в php коде7


--------------------
Заметки о разработке и не только
программирую web и для we
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 6.10.2009, 19:41; Ответить: ZiTosS
Сообщение #5


Вячеслав, посмотрив debugger под FF, там увидишь где что передаётся и что из запроса возвращается, только отладчиком поработай.
Вообще написанный код должен быть рабочим, попробуй вот так:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<title>fgfghfg</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">

function getArticle(idArticle){
$.get("script.php", { id: idArticle }, function(text){
$('#preview').html(text);
});
});

</script>

</head>

<body>
<div id="preview"></div>
<a href="java script: getArticle(1); return false;"> Статья #1 </a>
<a href="java script: getArticle(2); return false;"> Статья #2 </a>
<a href="java script: getArticle(3); return false;"> Статья #3 </a>
</body>
</html>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 11.10.2009, 0:10; Ответить: toorr2p
Сообщение #6


Спасибо! все зароаботало но без return false; и если javascript написано слитно!

[php]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<title>fgfghfg</title>
<meta http-equiv="" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">

function getArticle(idArticle){

$.get("script.php", { id: idArticle }, function(text){
$('#preview').html(text);
});
}

</script>

</head>

<body>
<div id="preview"></div>
<a href="java script:getArticle(1);"> Статья #1 </a>
<a href="java script:getArticle(2);"> Статья #2 </a>
<a href="java script:getArticle(3);"> Статья #3 </a>
</body>
</html>[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
ZiTosS
ZiTosS
сообщение 11.10.2009, 10:56; Ответить: ZiTosS
Сообщение #7


Вячеслав, внимательнее читай мои посты, я писал, что слитно надо javascript
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 16.10.2009, 20:51; Ответить: toorr2p
Сообщение #8


Это я чтоб напомнить для других малоли, я все подметил сразу :)

До этого была функция на Jquery но задача изменилась и теперь Ajax нужно использовать в Joomla без применения Jquery тоесть на Mootools.

Вроде все написал по инструкции но консольошибок в FF выдает такую ошибку при событии click на элементе:

Request is not defined
[Break on this error] var req = new Request({\r\n


Код функции:

window.addEvent('domready', function() {
$('params__viewTabsToHide').addEvent('click', function() {
var req = new Request({
method: 'get',
url: 'http://www.cleverscript.ru/ajax_jquery/script.php',
data: { 'id' : '1' }
}).send();
});
});

Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
toorr2p
toorr2p
Topic Starter сообщение 17.10.2009, 0:32; Ответить: toorr2p
Сообщение #9


Отбой разобрался, это потому что в Joomla версия var MooTools={version:'1.11'} а я ниписал под 1,2,3 ((

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
12 Boymaster 1915 Вчера, 21:03
автор: MisterBit
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4813 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19712 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3104 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13657 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 20.4.2024, 2:36
Дизайн