Re: Pasikeitus duomenims, atnaujinamas puslapis
gal galima koki pavyzdi?
PHP ir MySQL programavimas, SQL užklausos, duomenų bazės, PHP scriptai, pagalba, diskusijos, pamokos ir straipsniai.
You are not logged in. Please login or register.
PHP ir MySQL → JavaScript, jQuery, AJAX → Pasikeitus duomenims, atnaujinamas puslapis
gal galima koki pavyzdi?
http://docs.jquery.com/Ajax cia gali pasiziuret
na gerai, bandziau padaryti taip:
function show(str)
{
var url = "ajax.php";
url = url+"?q="+str;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
{
document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
}
}
cia "ajax.php":
<?php
$q = $_GET["q"];
include ("puslapis/$q.php");
?>
o cia "index.php" kuriame yra nuspaudziama nuoroda:
<a href="javascript: show(this.value)">Nuoroda</a>
<div id="txtHint">Cia rodoma info nuspaudus nuoroda</div>
bet man meta klaida:
Warning: include(puslapis/undefined.php) [function.include]: failed to open stream: No such file or directory in C:\wamp\www\mafia\ajax.php on line 4
kodel $q undefined?
i Tavo show funkcija nueina tuscias parametras nes nuoroduje JavaScritp blogai nurodytas. Tiksliai neprisimenu bet berods reikia naudot ne value, o name: show(this.name)
Beto vistiek tau neveiks tas Ajax, nes kiek prisimenu kai pats bandydavau Ajax uzklausas savo kurti tai reikedavo aprasyti xmlHttp, o tavo atveju to nera. Ga jau ir nebereikia, velnias zino kaip ten kas pasikeite :)
yra aprasytas tik cia nenukopijavau visko;
kur naudoti name?
Ten kur pas tave nuoroda.
Yra:
<a href="javascript: show(this.value)">Nuoroda</a>
Reikia:
<a href="#" onclick="show(this.name); return false;">Nuoroda</a>
labai dekui;
dar norejau paklausti,
ar reikia nuolat kviesti funkcija, aprasancia xmlHttp (turiu omenyje kas kart spaudziant nuoroda yra kvieciama si funkcija)?
function GetXmlHttpObject()
{
var xmlHttp = null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
gal kas zinot?
tai paimi ir pabandai parasyti taip kad nekviestu sios funkcijos antra kart ir ziuri ar veikia. yra tik du galimi atsakymo variantai, juos patikrint 1-10 min. o atsakymo forume lauki kelias dienas...
As javascript naujokas ir nezinau beveik nieko. Gal yra budu kuriuos naudoja kiti.
taip, naudojami frameworkai. jie yra documentuoti taip kad su trupuciu laiko gali padaryti labai daug ir optimaliau nei kad viska rasytum pats.
na gerai gerai, pasistengsiu susirasti.
iskilo dar viena problema: dingsta kintamieji, kurie yra index.php puslapyje. (is index.php ajax pagalba yra iterpiamas php failas, bet jame negaliu naudoti kintamuju, kurie yra index.php faile).
php failas vykdomas tik serveryje ir niekur kitur. ajax visada gauna php failo REZULTATA, o ne turini. turinio neimanoma gauti jokiais budais...
as ne tai norejau pasakyti.
cia index.php failo turinys:
$kint = 12;
toliau ajax pagalba yra iterpiamas php failas, bet $kint reiksme neislieka.
as ne tai norejau pasakyti.
cia index.php failo turinys:$kint = 12;
toliau ajax pagalba yra iterpiamas php failas, bet $kint reiksme neislieka.
kur, ką ir kaip tu įterpi?
php failų įterpinėti negalima niekur išskyrus tik vieną php failą į kitą (su atitinkamom funkcijom: include(), require(), require_ once(), include_ once())
juolab javascripte visai ne taip kintamieji aprasomi ....
$kint = 12 yra php, ne javascript;
gerai, parasysiu viska dar karta, kas jau ankstesnese zinutese yra;
javascript failas:
function show(str)
{
var url = "ajax.php";
url = url+"?q="+str;
xmlHttp.onreadystatechange = stateChanged;
xmlHttp.open("GET", url, true);
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete")
{
document.getElementById("txtHint").innerHTML = xmlHttp.responseText;
}
}
cia "ajax.php":
<?php
$q = $_GET["q"];
include ("puslapis/$q.php");
?>
index.php failas:
$kint = 22;
<a name="pavadinimas" href="#" onclick="show(this.name); return false;">Nuoroda</a>
<div id="txtHint">cia rodomas tas failas</div>
php faile puslapis/pavadinimas.php $kint reiksmes paimti nebeeina.
tai keipiesi i ajax.php su kuriuo includinsi /puslapis/blabla.php ir nori kazkaip issitraukt is index.php kintamaji? gi visiska nesamone. index.php tau sugeneravo html atsiunte i narsykle ir viskas niekur nebefiguruoja...
tai kaip suprantu, sakai, kad neimanoma perduoti kintamuju?
ne tik kad sakau ir zinau, bet tau ir nepavyksta...
PHP ir MySQL → JavaScript, jQuery, AJAX → Pasikeitus duomenims, atnaujinamas puslapis
Powered by PunBB, supported by Informer Technologies, Inc.