Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] mintAjax.js + mootools.js PROBLEM
Forum PHP.pl > Forum > XML, AJAX > AJAX
DzejkeJ
Witam, mam taki problem. Strona jest oparta o cms joomla, który używa mootools.js. Ja w swoim szablonie użyłem mintAjax.js do obliczania kosztu usługi. Skrypt ten nie działa gdy w szablonie jest uruchomiony mootools.js - wtedy nie przesyła formularzy i kalkulator w ogóle nie działa ; /.

Może ktoś się już spotkał z czymś takim? Szukałem w google na szybkiego to nie widziałem takiego problemu.

Wykorzystanie mojej funkcji wygląda mniej więcej tak:

  1. function SendRequest() {
  2. var req = mint.Request();
  3. req.AddParam("serwispromotion", $("serwispromotion").value);
  4. req.AddParam("nazwa_value", $("nazwa_value").value);
  5. req.Send("kalkulatorphp/cena.php", "response");
  6. }
skowron-line
6 linijek kodu to mógłbyś sobie przepisać na mootoolsa.
DzejkeJ
nie znam się na tyle, mój skrypt zrobiłem analogicznie do gotowego skryptu. Zobaczę, może coś znajdę.

Jeżeli ktoś to potrafi zmieni na mootools to bym prosił.
skowron-line
[JAVASCRIPT] pobierz, plaintext
  1. var r = new Request({
  2. method: 'get',
  3. date: {
  4. 'param': param,
  5. 'param': param
  6. }
  7. }).send();
[JAVASCRIPT] pobierz, plaintext
DzejkeJ
Dzięki za pomoc lecz to za mało aby mój skrypt był sprawny (aczkolwiek to co podałeś jest bliskie temu o co mi chodzi ;]). Może dokładniej opisze jego działanie:
  1. function SendRequest() {
  2. var req = mint.Request();
  3. req.AddParam("ilosc", $("ilosc").value);
  4. req.Send("kalkulatorphp/typ.php", "response1");
  5. }
  6.  
  7. <div id="response1">
  8. <select name="typ" id="typ" onchange="SendRequest();">
  9. <option> -wybierz typ-
  10. </option>
  11. </select>
  12. </div>

a więc req.Send wysyła value ilosc do pliku typ.php który wg ilości wyświetla kilka opcji typów (coś takiego: if ilosc = 2 echo opcja malo; if ilosc = 80 echo opcja duzo). Idąc dalej to co wygeneruje typ.php pkazuje się w divie posiadającym ID="response1" w tym przypadku. Nie umiem już z tym sobie poradzić wg tego co podałeś. Poratujesz? Będę wdzięczny.
skowron-line
[JAVASCRIPT] pobierz, plaintext
  1. var r = new Request({
  2. method: 'get',
  3. date: {
  4. 'param': param,
  5. 'param': param
  6. },
  7. onSuccess: function(response)
  8. {
  9. $('id_div_do_ktorego_chcesz_cos_wstawic').set('html', resposne);
  10. }
  11. }).send();
  12.  
[JAVASCRIPT] pobierz, plaintext
DzejkeJ
no fajnie ale co z tym kalkulatorphp/typ.php ?
skowron-line
Cytat(DzejkeJ @ 7.07.2010, 07:34:43 ) *
no fajnie ale co z tym kalkulatorphp/typ.php ?

Wklej cały skrypt jaki masz będzie łatwiej.
DzejkeJ
a więc tak, może nie przedstawiłem całkiem jego działania. Jest to formularz
  1. <form costam>
  2. <div id="response1">
  3. <select " name="pierwsze" id="pierwsze" onChange="Request2">
  4. <option> jeden </option>
  5. <option> dwa </option>
  6. </select>
  7. </div>
  8. <div id="response2">
  9. <select " name="nastepne" id="nastepne" >
  10. <option> wybierz pierwsze </option>
  11.  
  12. </select>
  13. </div>
  14. </form>

  1. skrypt (wiecej nei podaje bo reszta jest taka sama tylko kolejne requesty
  2. function Request2() {
  3. var req = mint.Request();
  4. req.AddParam("pierwsze", $("pierwsze").value);
  5. req.Send("kalkulatorphp/nastepne.php", "response2");
  6. }


Myśle, że całkowicie przedstawiłem działanie skryptu, wyświetlanie zawartości diva response2 musi być pobieranie z nastepne.php w ktorym mam zastosowane:
  1. $pierwsze = $_GET['pierwsze'];


Da się to zrobić? Bo próbuje w dalszym ciągu coś znaleźć w sieci aby to działało w mootools, lecz bez skutecznie.

To mnie "joomla" zdenerwował ;d


//EDIT: Już sobie poradziłem, użyłem AdvancedAJAX, którego gdzieś tu na forum znalazłem. Działa bez problemu przy równoczesnym działaniu mootools na stronie opartej o silnik joomla ;].
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.