Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [ajax] Problem z javascript
slammer
post
Post #1





Grupa: Zarejestrowani
Postów: 187
Pomógł: 6
Dołączył: 31.08.2005
Skąd: Bielsko-Biała

Ostrzeżenie: (0%)
-----


Problem polega na tym, że gdy wyświetlam na stronie responseText w którym jest fragment kodu javascript to w efekcie kod ten nie zostaje wykonany, po prostu nic sie nie dzieje. Gdy ten sam plik wyświetle normalnie na stronie to wszystko działa jak należy... Jak zrobić, żeby JS zadziałał przy wczytaniu z ajaxa?

To jest plik do którego odwołuję się przez ajax i zwracam go na stronie.


  1. <a href="java script: void(0)" onclick="alert('asd');">as
  2. <script language="JavaScript" type="text/javascript">
  3. alert('asd');
  4.  
  5. <form action="" method="post">
  6. <input type="hidden" name="order" id="order" value="" />
  7. <input type="submit" onclick="getSort()" value="Sortuj" />
  8. </form>



Link oczywiście poprawnie wyświetla alert.

Ten post edytował slammer 28.04.2007, 12:29:42
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
yaotzin
post
Post #2





Grupa: Zarejestrowani
Postów: 157
Pomógł: 0
Dołączył: 12.02.2007
Skąd: Zielona Góra

Ostrzeżenie: (0%)
-----


Cytat
Swoje już załatwiłem, w bibliotece xajax jest taka funkcja addScriptCall i addScript w zupełności wystarczyły do moich celów opisałem to w jakimś innym wątku.


oto i odpowiedź z powyżej

http://forum.php.pl/index.php?showtopic=67...st=?entry354974

i mój post z tamtego topic'u

Cytat
:/ Tak to jest właśnie z technologiami openSourcowymi nie wszystkie mają do końca dobrą dokumentację :/ i to wkurza. Aby sobie poradzić z problemem który macie wystarczy dodać do twojej funkcji wywołanie

$obj->addScriptCall

Kod PHP1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php
function testAjaxa($id)
{
$obj = new xajaxResponse();
$html = '<a href="images/zdjecie.jpg" rel="lightbox" title="my caption">image</a>';
$obj->addAssign($id,'innerHTML',$html);


$obj->addScriptCall("mojaFunkcja", "argument1", "argument2");


return $obj;
}
?>



A oprócz tego warto zapoznać się z tymi metodami:

xajaxResponse
addAlert
addAppend
addAssign
addClear
addConfirmCommands
addCreate
addCreateInput
addEvent
addHandler
addIncludeScript
addInsert
addInsertAfter
addInsertInput
addInsertInputAfter
addPrepend
addRedirect
addRemove
addRemoveHandler
addReplace
addScript
addScriptCall
getXML
loadXML
outputEntitiesOff
outputEntitiesOn
setCharEncoding
xajaxResponse

zakładam że interesują was najbardziej te:

addIncludeScript - dodaje skrypt w JS który ma sie wykonać zasada dodawania jest taka
$obj->addIncludeScript("mojefunkcje.js");
addScript - pozwala na wpisanie własnego skryptu do otrzymywanego pytania (nie wiem jak to nazwać :/ jest już prawie 2 i szare komórki idą spać)

$obj->addScript("var x = prompt('Podaj jakiś tekst');");

addScriptCall - wywołuje funkjcę zawartą w zwracanej odpowiedzi.

$obj->addScriptCall("mojaFunkcja", "argument1", "argument2");

Jak będę miał kiedyś czas to opiszę wszystkie metody zawarte w klasie xajax i funkcje. może się komuś przyda.




I Wybaczam....
Go to the top of the page
+Quote Post

Posty w temacie
- slammer   [ajax] Problem z javascript   28.04.2007, 12:27:59
- - prond   Spróbuj skorzystać z prototype'a tam masz meto...   30.04.2007, 13:19:50
- - snipe   może przepuść wynik przez funkcj...   30.04.2007, 16:50:27
- - yaotzin   Witam! mam podobny problem, z tym że ja u...   2.05.2007, 23:35:06
- - drbane   Witam, mam identyczny problem, wczytując coś do DI...   3.05.2007, 19:00:10
- - yaotzin   Swoje już załatwiłem, w bibliotece xajax jest taka...   3.05.2007, 19:50:15
- - skowron-line   z przykroscia musze dolaczyc do dyskucji poniewaz ...   4.05.2007, 08:12:13
- - kwiateusz   wysyłany kod przepuścić przez eval?   4.05.2007, 10:02:16
|- - skowron-line   Cytat(kwiateusz @ 4.05.2007, 09:02:16...   4.05.2007, 10:07:56
- - kwiateusz   Odpowiedź w formie pytania Skoro przesyłasz ajaxe...   4.05.2007, 10:13:40
- - drbane   No dobra, EVAL , ale jak tego użyć? Skoro mój skry...   4.05.2007, 15:11:37
- - slammer   możecie "przefiltrować" responseText w t...   5.05.2007, 11:13:48
|- - skowron-line   mam ajaxa ktory ma wywalic skrypt ktory wyglada ta...   18.05.2007, 13:46:16
- - box3r   Może to pomoże [HTML] pobierz, plaintext http://...   6.05.2007, 12:41:37
|- - zaxx   Witam, przeczytałem wcześniejsze posty nie rozwiąz...   10.05.2007, 17:48:38
- - konradk2   to ciekawe ja korzystam z innerHTML i mi wszystko ...   10.05.2007, 19:06:29
- - zaxx   No w ajaxie tak nie jest niestety ... kod się nie ...   10.05.2007, 19:25:23
- - snipe   nie umiecie przepuścić wyniku przez eval()   10.05.2007, 21:01:39
|- - zaxx   Cytat(snipe @ 10.05.2007, 21:01:39 ) ...   10.05.2007, 22:00:25
- - slammer   Kod działa tylko że jest mały zonk... trzeba całeg...   11.05.2007, 09:33:27
- - zaxx   Fakt, teraz jak dałem w jednej linii kod to działa...   12.05.2007, 18:05:04
- - snipe   [PHP] pobierz, plaintext <?phpecho'<srcipt t...   18.05.2007, 21:16:36
- - Arnimag   Hmm mam ten sam problem i używam xajaxa który wrzu...   4.07.2007, 18:27:04
- - yaotzin   Cytat(Arnimag @ 4.07.2007, 19:27:04 )...   4.07.2007, 20:03:25
- - Arnimag   Hmm wybacz ale jeżeli masz mnie tak odsyłać wyżej ...   4.07.2007, 21:23:33
- - yaotzin   CytatSwoje już załatwiłem, w bibliotece xajax jest...   4.07.2007, 21:29:57
- - morrison   mam podobny problem, jeszzce nie mialem okazji sie...   18.11.2008, 10:30:43
- - skowron-line   Tzn. plik lightbox -a dobrze ze masz w pliku główn...   18.11.2008, 10:40:52


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 09:01