Короче при нажатии на ссылку выполняется JS-функция, которая в определенный блок со своим id помещает результат php-скрипта который находится в отдельном файле.
Вот код: index.html (Весь html-код приводить не буду, не вижу смысла)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>Test</title>
<link href="templates/template_01/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="Lib/DSJax.js"></script>
</head>
<body>
...
<div id="MainBlog"></div>
...
<a onclick="process()" href=index.php >Главная</a>
...
</body>
</html>
Это файл DSJax.js:
var xmlHttp = createXmlHttpRequestObject();
function createXmlHttpRequestObject()
{
var xmlHttp;
if(window.ActiveXObject)
{
try
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
xmlHttp = false;
}
}
else
{
try
{
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
xmlHttp = false;
}
}
if (!xmlHttp)
alert("Error creating the XMLHttpRequest object.");
else
return xmlHttp;
}
function process()
{
var statusElem = document.getElementById('MainBlog');
xmlHttp.open("GET", "/mod/main.php?go=about", true);
xmlHttp.onreadystatechange = function {
if (req.readyState == 4) {
statusElem.innerHTML = xmlHttp.statusText;
if(xmlHttp.status == 200) {
alert("Wow Fuck: "+xmlHttp.responseText);
}
}
xmlHttp.send(null);
statusElem.innerHTML = statusElem;
}
А здесь php-файл main.php
<?php
echo "URA!";
?>
Дело в том что не работает JavaScript - что то из этого xmlHttp, т.к.
alert("..."); в начале функции работает, но если за комментирован
/* xmlHttp.open("GET", "/mod/main.php?go=about", true);
xmlHttp.onreadystatechange = function {
if (req.readyState == 4) {
statusElem.innerHTML = xmlHttp.statusText;
if(xmlHttp.status == 200) {
alert("Wow Fuck: "+xmlHttp.responseText);
}
}
xmlHttp.send(null);*/
Спустя 16 минут, 28 секунд (27.01.2010 - 08:55) twin написал(а):
Как то ты из нескольких собирал, и видать неаккуратно))
тут так должно быть.
if (req.readyState == 4) {
тут так должно быть.
if (xmlHttp.readyState == 4) {
Спустя 9 минут, 25 секунд (27.01.2010 - 09:04) Miha написал(а):
Исправил, все равно не работает!
А разве страница должна перезагружаться, она у меня почему то мелькает когда тыкаю на ссылку.
А разве страница должна перезагружаться, она у меня почему то мелькает когда тыкаю на ссылку.
Спустя 23 минуты, 25 секунд (27.01.2010 - 09:28) Семён написал(а):
Цитата (Miha @ 27.01.2010 - 10:04) |
Исправил, все равно не работает! А разве страница должна перезагружаться, она у меня почему то мелькает когда тыкаю на ссылку. |
Это специфика некоторых браузеров. (ну по крайней мере для картинок)
Спустя 8 часов, 19 минут, 51 секунда (27.01.2010 - 17:47) Miha написал(а):
Вообще ничего не понимаю!
Ни один пример у меня еще не заработал!!!, Хотя на сайтах все работает БЛИН!!!
Ни один пример у меня еще не заработал!!!, Хотя на сайтах все работает БЛИН!!!
Спустя 9 минут, 2 секунды (27.01.2010 - 17:56) arlamar написал(а):
onclick="process(); return false;"
Спустя 10 минут, 7 секунд (27.01.2010 - 18:07) Miha написал(а):
Балин!!! всего лишь из-за одной маленько конструкции такие проблемы! Спасибо тебе человек!
А почему ни где в статьях этого не описали???
А почему ни где в статьях этого не описали???
Спустя 3 минуты, 58 секунд (27.01.2010 - 18:11) Michael написал(а):
Цитата (Miha @ 27.01.2010 - 17:07) |
Балин!!! всего лишь из-за одной маленько конструкции такие проблемы! Спасибо тебе человек! А почему ни где в статьях этого не описали??? |
Это называется основы javascript и уж поверь описаны они много где ...
Спустя 42 минуты, 4 секунды (27.01.2010 - 18:53) Miha написал(а):
Когда я передаю параметры из php в JS, короче так:
В этом скрипте мне надо передать параметр функции makeAJAXCall(*сюда).
Но как я понял этого сделать невозможно...? или я ошибаюсь.
Именно из php надо!
$res=$res.'<a href="" onclick="makeAJAXCall(); return false;">'.$s[0].'</a><br>';
В этом скрипте мне надо передать параметр функции makeAJAXCall(*сюда).
Но как я понял этого сделать невозможно...? или я ошибаюсь.
Именно из php надо!
Спустя 11 минут, 12 секунд (27.01.2010 - 19:04) arlamar написал(а):
$res=$res.'<a href="" onclick="makeAJAXCall(\''.$strparam.'\', '.$intparam.'); return false;">'.$s[0].'</a><br>';
Спустя 15 часов, 28 минут, 40 секунд (28.01.2010 - 10:32) Miha написал(а):
arlamar Спасибо тебе большое!!! Очень сильно помог мне
_____________