Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Переменные в js. Немного ajax
 
 автор: lorenberg   (30.10.2008 в 14:14)   письмо автору
 
 

Всем привет проблема такая.

Есть скрипт, в который мы "снизу" передаём инфу. Это ссылка на отдельный файл, который работает когда получает определенные Гет параметры. С этим всё в порядке, и задача состоит в том, чтобы выводить этот результат в определенном месте. Сейчас же получается вывести только в одном месте, т.к. мне не удаётся переправить ещё и уникальный номер строчки.

<script language="Javascript">
function xmlhttpPost(strURL) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText);
        }
    }
    self.xmlHttpReq.send(getquerystring());
}

function getquerystring() {

}

function updatepage(str)

document.getElementById("result??????").innerHTML = str;

}
</script>


Нужно передать инфу из updatepage так, чтобы ответ .....ById("result??????").inner....... был каждый раз разный и зависел от передаваемого ниже значения.

Инфа содержится в дивах в таком виде:

<div id="result??????"><img src="play.png" height="16" style="cursor:pointer; cursor:hand;" onclick=\'JavaScript:xmlhttpPost("size.php?переменные"); updatepage(переменная_с_уникальным_номером);\'></div>



Другими словами:
В зависимости от result?????? - заменять инфу в конктрентном диве. Все действия происходят при нажатии на картинку.

Вообщем, сам запутался... надеюсь Вы поймёте. Проблема в том, что не знаю ЯваСкрипт.

Заранее спасибо!

  Ответить  
 
 автор: sl1p   (30.10.2008 в 14:19)   письмо автору
 
   для: lorenberg   (30.10.2008 в 14:14)
 

ничё не понял..

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 14:32)   письмо автору
 
   для: sl1p   (30.10.2008 в 14:19)
 

Блин))

<div id="result111111">Картинка, передающая уникальный параметр (result111111) в js, который вверху</div>
<div id="result222222">Картинка, передающая уникальный параметр (result222222) в js, который вверху</div>
<div id="result333333">Картинка, передающая уникальный параметр (result333333) в js, который вверху</div>

При нажатии на такую картинку, информация в нажатом диве меняется на ту, которая получается после обработки ява-скрипта. В моём случае я передаю конкретную ссылку на файл, который делает определенное действие и возвращает результат, и передаю уникальный номер дива, чтобы вставить выполненный результат в нажатый див.

Основной задачей вижу передачу переменной так, чтобы создавался бы уникальный ответ,т.е:

document.getElementById("result111111").innerHTML = str;
или
document.getElementById("result222222").innerHTML = str;
или
document.getElementById("result333333").innerHTML = str;

Возможно меня можно понять только тому, у кого возникла такая же трудность и который находился на моём же уровне понимания)))

  Ответить  
 
 автор: sl1p   (30.10.2008 в 14:46)   письмо автору
 
   для: lorenberg   (30.10.2008 в 14:14)
 

ну както так может:

function updatepage(str,id)

document.getElementById(id).innerHTML = str;

}
---

<div id="result??????"><img src="play.png" height="16" style="cursor:pointer; cursor:hand;" onclick=\'xmlhttpPost("size.php?переменные"); updatepage(переменная_с_уникальным_номером,parentNode.id);\'></div>
 


я только не спалил зачем при клике на картинку вызывается updatepage?

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 14:58)   письмо автору
 
   для: sl1p   (30.10.2008 в 14:46)
 

Пример, который Вы привели не подходит. Ноль реакции.

updatepage - здесь я передаю уникальный номер дива.
Он идёт в js и там должна создаваться функция вида:

function updatepage(str) 
{  
document.getElementById("result111111").innerHTML = str; 
}


А потом в моих результатах, которые уже выведены находится див с result111111 и там меняется информация. А информация получается в результате отсылки данных xmlhttpPost("size.php?переменные")....

  Ответить  
 
 автор: sl1p   (30.10.2008 в 15:01)   письмо автору
 
   для: lorenberg   (30.10.2008 в 14:14)
 

ёпт.

<script language="Javascript">
function xmlhttpPost(strURL,id) {
    var xmlHttpReq = false;
    var self = this;
    // Mozilla/Safari
    if (window.XMLHttpRequest) {
        self.xmlHttpReq = new XMLHttpRequest();
    }
    // IE
    else if (window.ActiveXObject) {
        self.xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
    }
    self.xmlHttpReq.open('POST', strURL, true);
    self.xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
    self.xmlHttpReq.onreadystatechange = function() {
        if (self.xmlHttpReq.readyState == 4) {
            updatepage(self.xmlHttpReq.responseText,id);
        }
    }
    self.xmlHttpReq.send(getquerystring());
}

function updatepage(str,id)

document.getElementById(id).innerHTML = str;
}
</script>


<div id="result??????"><img src="play.png" height="16" style="cursor:pointer; cursor:hand;" onclick=\'xmlhttpPost("size.php?переменные",parentNode.id);\'></div>

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 15:07)   письмо автору
 
   для: sl1p   (30.10.2008 в 15:01)
 

Ноль реакции((

Что означает - parentNode.id ??

Каким образом вызывается результат из функции?

function updatepage(str,id) 
{  
document.getElementById(id).innerHTML = str; 
}


пробую алертом делать проверку, ноль реакции:

function updatepage(str,id) 
{  
var r = document.getElementById(id).innerHTML = str; 
alert(r);



Так, можно начать с дургого...

Как мне так передать уникальный номер дива нажатием на картинку, чтобы конечный результат была функция:

function updatepage(str) 
{  
document.getElementById("result+номер_дива").innerHTML = str; 
}


и ответ выдавался в:

<div id="result+номер_дива"></div>

  Ответить  
 
 автор: sl1p   (30.10.2008 в 15:51)   письмо автору
 
   для: lorenberg   (30.10.2008 в 15:07)
 

я вам привёл пример который делает именно это.
зачем result+номер дива, если можно передать полный айди?.. тут нет необходимости так делать.
попробуйте у себя гдето просто вот это потестить:

function updatepage(str,id)
{
document.getElementById(id).innerHTML = str;
}
<div id='ja_divkO'><img src='img.gif' onClick="updatepage('lalala',parentNode.id)"></div>

parentNode.id - айди дива в котором картинка..
ну и дальше уже я думаю понятно.
зы.это не может не работать.

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 16:34)   письмо автору
 
   для: sl1p   (30.10.2008 в 15:51)
 

Отдельное действие по замене в нужном диве получилось..

А как сделать так, чтобы при нажатии на картинку отсылался запрос в отдаленный скрипт и ответ скрипта отображался в том месте, где мы нажали?

  Ответить  
 
 автор: sl1p   (30.10.2008 в 16:56)   письмо автору
 
   для: lorenberg   (30.10.2008 в 16:34)
 

автор: sl1p (30.10.2008 в 15:01)

это помоему вы где-то кривите)

вызывается функция с аяксом которой указывается id дива из которого была вызвана эта функция.

и потом функция с аяксом вызывает другую функцию которая меняет содержимое дива и передаёт ей этот же айди дива..

как тут чтото может не работать - не пойму:)

или если действительно не работает, посмотрите в консоле ошибок браузера ошибку.. тогда уже хоть понятно чтото будет)

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 17:01)   письмо автору
 
   для: sl1p   (30.10.2008 в 16:56)
 

Я уже опустошен.. на такой глупости потерял примерно 7-9 часов беспрерывного пребывания :)
Можете на примере моего кода сделать так, чтобы при нажатии на картинку отправлялся запрос и появлялся ответ в нажатом диве? Я уже без сил и надежд, не хватает знаний и мозгов, и примеров. Обещаю изучить и понять, что я не могу допонять! :)

ОЧень жду помощи! Любые наброски - помогут!

  Ответить  
 
 автор: sl1p   (30.10.2008 в 17:05)   письмо автору
 
   для: lorenberg   (30.10.2008 в 17:01)
 

Какие ошибки? что происходит вообще при тесте моего примера?.. точнее.
Если даже вы не можете понять в чём у вас проблема и что именно не работает то я уж тем более:)

  Ответить  
 
 автор: lorenberg   (30.10.2008 в 17:35)   письмо автору
 
   для: sl1p   (30.10.2008 в 17:05)
 

У меня ничего не происходит при Ваших примерах. Точнее отдельный пример по замене содержимого происходит - это гуд. А присобачить, чтобы содержимое менялось не на lalala, а на результат выполнения стороннего скрипта - не получается. Поэтому и прошу Вас сварганить элементарный рабочий пример, скрипт почти весь есть, в нём только расставить по уму всё надо..

Ап

  Ответить  
 
 автор: lorenberg   (01.11.2008 в 19:50)   письмо автору
 
   для: lorenberg   (30.10.2008 в 17:35)
 

СЛИП!! Вы гений, я убил ещё один день, но понял, что Вы написали всё правильно!!! СПАСИБИЩЕ!!!! Всё получилось!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования