.... echo "<span><a href=\"search.php\" onclick=\"search(".($_GET['thisPage']+1)."); return false;\">next</a></span></p>";
w kodzie ajaxa dałem eval();
Kod
...
sNew.innerHTML = xmlhttp.responseText;
var js = sNew.getElementsByTagName('span');
for(var i=0; i < js.length; i++) {
eval(js[i].text);
}
sNew.innerHTML = xmlhttp.responseText;
var js = sNew.getElementsByTagName('span');
for(var i=0; i < js.length; i++) {
eval(js[i].text);
}
ale to nic nie dało. Dlaczego mi polecenia onclick="search('soemthing'); return false;" nie chce wywołać?
rewizja zapytania:
sprawdziłem kod krok po kroku i się okazało, że po wywaleniu kodu odpowiedzialnego za ajax pozostała część kodu działa bez zastrzeżeń.
teraz moje zmodyfikowane pytanie:
Mam funkcję onsubmit="search(1); return false;", która zbiera dane z formularza, przesyła je dalej do strony search.php, która jest wywoływana ajaxowo w DIVie.
W treści HTMLowej wywołanej strony PHP podaję link(paginacji/stronicowania), gdzie ponownie podaję funkcję search(2), ale z innym parametrem tzn. 2, co oznacza że powino mi wyświetlić drugą stronę danych.
I tutaj właśnie już onclick="search(2); return false;" jest ignorowane [pomija funkcję i idzie bezposrednio do seach.php]. Tak jak wspomniałem wyżej, jeżeli wywalę linijki odpowiedzialne za ajaxa przy ponownym wykorzystaniu funkcji search(), to ją wykonuje bez problemu, tzn. pozostałą część kodu.
Czy tu może być problem z kolidowaniem dwóch wywołań ajaxa, tzn. raz już wywołana strona ajaxem i ponowne wywołanie strony (kontynuacji) za pomocą ajaxa?[przed wywołaniem kontynuacji strony, usuwam pierwszą przez parent.removeChild]
Czy też może coś innego?