Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JS po ajaxie
kimj9174
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


Niby było ale od tygodnia nie znalazlem ani na googlach ani nigdzie odpowiedzi.

Plik html
Kod
<script type="text/javascript">

Sortable.create("list", { tag:'li',overlap:'vertical',constraint: false,
     onUpdate: function () {Effect.Pulsate('list', { pulses: 5, duration: 1.5 });

getHTML('zapisz.php?akcja=produkty&'+Sortable.serialize('list'));}
}
);
</script>


Ajax
Kod
<script>
    function getHTML(znak)
     {
       var url = znak + "&ms=" + new Date().getTime();
       var myAjax = new Ajax.Request(
        url,
        {
          method: 'get',
          onComplete: showResponse,
          onSuccess: wyswietl
        });
       }
function showResponse(MyRequest)
   {  
     $('right').innerHTML = MyRequest.responseText
   }
    function wyswietl(MyRequest)
     {  
       response = MyRequest.responseText;
        alert(response)
      }
</script>


No i plik php
Kod
echo '<script type="text/javascript">alert("ok");</script>';


I do rzeczy
w chwili odebrania zapytania czyli onSuccess alert zadziala i w alercie jest kod z pliku zapisz.php. Jednak chciałem żeby po podmianie zawartosci wykonał sie javascript. No i tu jest problem.
probowalem na wszytskie sposoby przez eval(); i lipa.

Acha prototype,js jest uzywany.

Sama zawartośc kodu w php jest wykonywana tu jest cacy, ale ten nieszczesny alert.
Moze ktos dobry odpowie co zrobic...

Chyba nikt nie wie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

ych

Chyba można zamknąć... Nie dowiem się... Być może awykonalne....

Ten post edytował kimj9174 29.04.2009, 17:28:22
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
lord_t
post
Post #2





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


A jak używałeś tego eval? (zapodaj kod)
Go to the top of the page
+Quote Post
kimj9174
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


response = MyRequest.responseText;
eval(response);
Go to the top of the page
+Quote Post
revyag
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


Zrób to tak:
Kod
response = MyRequest.responseText;
eval('('+response+')');
Go to the top of the page
+Quote Post
kimj9174
post
Post #5





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


Niestety dalej nie działa (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
adamli
post
Post #6





Grupa: Zarejestrowani
Postów: 40
Pomógł: 0
Dołączył: 18.07.2008

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


Mialem pdobny problem tzn funkcje javascript nie byly 'aktywne' po ajaxowej odpowiedzi...
Podaje kod mysle ze Ci pomoze...
Kod
function makeStandardPOSTRequest(url, parameters) {
  http_request = false;
  if (window.XMLHttpRequest) {
     http_request = new XMLHttpRequest();
     if (http_request.overrideMimeType) {
        http_request.overrideMimeType('text/html');
     }
  } else if (window.ActiveXObject) {
     try {
        http_request = new ActiveXObject("Msxml2.XMLHTTP");
     } catch (e) {
        try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
        } catch (e) {}
     }
  }
  if (!http_request) {
     alert('Cannot create XMLHTTP instance');
     return false;
  }
  http_request.evalScripts = true;
  http_request.onreadystatechange = alertContents;
  http_request.open('POST', url, true);
  http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  http_request.setRequestHeader("Content-length", parameters.length);
  http_request.setRequestHeader("Connection", "close");
  http_request.send(parameters);
}
//
function completeCallback(response)
{
  //document.getElementById('myPhoneDialDiv').innerHTML = response;
  var myDiv = document.getElementById('myPhoneDialDiv');
  cells = myDiv.getElementsByTagName("script");
  for (var i = 0; i < cells.length; i++)
  {
   //alert(cells[i].innerHTML);
   eval(cells[i].innerHTML);
  }
}

function alertContents() {
  if (http_request.readyState == 4) {
     if (http_request.status == 200) {
        result = http_request.responseText;
        document.getElementById('myPhoneDialDiv').innerHTML = result;  
        completeCallback();
     } else {
        alert('There was a problem with the request.');
     }
  }
}
Go to the top of the page
+Quote Post
karolrynio
post
Post #7





Grupa: Zarejestrowani
Postów: 144
Pomógł: 25
Dołączył: 2.02.2009

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


Cytat(kimj9174 @ 3.05.2009, 22:23:16 ) *
response = MyRequest.responseText;
eval(response);

To mozesz sprobowac:
Kod
esponse = MyRequest.responseText;
response.evalScripts();
Go to the top of the page
+Quote Post
kimj9174
post
Post #8





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 29.04.2009

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


Kod
$(id).innerHTML =  MyRequest.responseText;
response.evalScripts();


dokaldnie tak z podmian zawartosci .
DOczytalem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Dzieki pomogles.. Piwo (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)



ZAMYKAMY (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) :D:D:D:D
Go to the top of the page
+Quote Post

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: 3.10.2025 - 23:59