Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.08.2011, 22:01
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Получение данных
Вот у меня есть небольшой код выборки из базы данных
$result = mysql_query ("SELECT * FROM `menu` WHERE `id` =$id LIMIT 0 , 30");
$myrow = mysql_fetch_array($result);
$name = $myrow['name'];
$avaible = $myrow['avaible'];
$link = $myrow['link'];
echo '<span id="name">'.$name.'</span>';
echo '<span id="avaible">'.$avaible.'</span>';
echo '<span id="link">'.$link.'</span>';

Этот всё принимается с помощью Аякс.Скажите как мне вывести на экран допустим переменную $name?
Вот js код получении и отправки данных
$(document).ready(function(){
  $(".edit").click(function(event){
  var id = $(this).attr("id");
$.ajax({
url: 'upd_menu.php',
data: ({id : id}),
type : "POST",
success: function (data) { 
alert(data); 
}
  });
  });
  });
Ответить с цитированием
  #2 (permalink)  
Старый 18.08.2011, 22:44
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

В callback
data = $(data);
alert($('#name', data).html())
Ответить с цитированием
  #3 (permalink)  
Старый 19.08.2011, 12:29
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Не знаю почему но не работает,вот код который получился
$(document).ready(function(){
  $(".edit").click(function(event){
  var id = $(this).attr("id");
$.ajax({
url: 'upd_menu.php',
data: ({id : id}),
type : "POST",
success: function (data) { 
var data = $(data); 
alert($('#name', data).html());
}
  });
  });
  });
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2011, 19:03
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Неужели никто не знает как это сделать?
Ответить с цитированием
  #5 (permalink)  
Старый 20.08.2011, 23:56
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

$result = mysql_query ("SELECT *!***/!* FROM `menu` WHERE `id` =$id *!*LIMIT 0 , 30*/!*");
.......

следует понимать, что этот запрос возьмет из бд не одну запись.

..

ну раз там такой вывод ...

echo '<span id="name">'.$name.'</span>';


... то, например,так

$(document).ready(function() {
    $(".edit").click(function(event) {
        var id = $(this).attr("id");
        $.ajax({
            url: 'upd_menu.php',
            data: ({
                id: id
            }),
            type: "POST",
            success: function(data) {
*!*
                var el = document.createElement("div");
                el.innerHTML = data;
                
                var name = el.getElementById("name");
                
                alert(name);
*/!*
            }
        });
    });
});
Ответить с цитированием
  #6 (permalink)  
Старый 21.08.2011, 10:53
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Сообщение от melky
getElementById
Такой метод есть только у объектов, созданных с помощью HTMLDocument и Document. div, очевидно, не является таковым.
Ответить с цитированием
  #7 (permalink)  
Старый 21.08.2011, 12:07
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ну тогда так - тот красный кусок
var el = document.createElement("div");
                el.innerHTML = data;
                
                var name = *!*document*/!*.getElementById("name");
                
                alert(name);
Ответить с цитированием
  #8 (permalink)  
Старый 21.08.2011, 12:27
Аватар для B@rmaley.e><e
⊞ Развернуть
Отправить личное сообщение для B@rmaley.e><e Посмотреть профиль Найти все сообщения от B@rmaley.e><e
 
Регистрация: 11.01.2010
Сообщений: 1,810

Ну так тем более работать не будет. el не существует в DOM дереве.

В моем первоначальном варианте
data = $('<div>' + data + '</div>');
Ответить с цитированием
  #9 (permalink)  
Старый 21.08.2011, 12:53
Аспирант
Отправить личное сообщение для NeoMurderer Посмотреть профиль Найти все сообщения от NeoMurderer
 
Регистрация: 16.02.2011
Сообщений: 98

Выдаёт
Цитата:
[object HTMLInputElement]
Ответить с цитированием
  #10 (permalink)  
Старый 21.08.2011, 13:12
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ах. и правда, что-то не то. ну раз там используется jquery, можно и так (тот красный кусок)

var el = $( "<div>"+data+"</div>" );
                
                var name = $( "#name", el).val();
                
                alert(name);
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение данных строки грида при нажатии сторонней кнопки Allan Stark ExtJS 4 17.11.2011 19:21
Получение данных запроса от удалённой стороны evil0790 AJAX и COMET 1 20.09.2010 21:43
Автоматическое получение данных из формы Beck jQuery 6 06.11.2009 18:01
[JavaScript] получение данных из адресной строки после знака # GiveMeABreak AJAX и COMET 2 16.09.2009 00:36
Получение данных по протоколу file: Octane AJAX и COMET 0 07.09.2008 21:08