Szerző Téma: AJAX  (Megtekintve 36075 alkalommal)

0 Felhasználó és 1 vendég van a témában

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 554
  • ThompsoN
Re: AJAX
« Válasz #518 Dátum: 2011. május 14., 14:37:50 »
Most jöttem arra rá, hogy tulajdonképpen mire jó a JSON.:) Nagyon hasznos dolog.
ThompsoN

Nem elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: AJAX
« Válasz #517 Dátum: 2011. március 06., 07:13:44 »
Én értem, hogy az emberek szeretnek szenvedni, de akkor is. Főleg aki nem is ért és nem is szokott programozni, az miért vállal magára ilyen "komplex" feladatot. Amit ráadásul egyszerűen, szenvedés nélkül is meg lehet oldani nagyon egyszerűen.

pl. :
Kód: Javascript
  1. $.ajax({
  2.    type: "POST",
  3.    url: "some.php",
  4.    data: $('form azonosito').serialize(),
  5.    success: function(msg){
  6.      alert( "Data Saved: " + msg );
  7.    }
  8.  });
  9.  
http://api.jquery.com/jQuery.ajax/
vagy
Kód: Javascript
  1. $.post("test.php", $("#testform").serialize());
  2.  
http://api.jquery.com/jQuery.post/
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető klank

  • Tag
  • *
  • Hozzászólások: 234
Re: AJAX
« Válasz #516 Dátum: 2011. március 06., 01:42:28 »
Nem tudom milyen típusú űrlapmezőid vannak, de írok példát a sima szöveg típusú beviteli mezőre. A többi (pl. checkbox, select, radio) máshogy működik.

Kód: HTML
  1. <input type="text"  name="username" id="uname" />

Ebből ki tudod nyerni az adatokat ezzel a JS paranccsal:
Kód: Javascript
  1. username = document.getElementById('uname').value;

Ezt a műveletet nyilván az összes beviteli mezőre elvégzed, mindegyiknek külön id-t adsz, és szépen begyűjtöd az adatokat, majd összefűzéssel összeállítod a kívánt URL. Ezután el kell dönteni, hogy mikor küldje el az adatokat a CGI programnak az AJAX. Gondolom ha rákattint a felhasználó a Küldés gombra. Akkor a küldés gombnak adsz egy onsubmit eseményt, amivel meghívod azt a függvényt, ami elküldi az űrlapot.

Remélem érthető voltam és sikerül összeraknod ez alapján. A pénzedre pedig nincs szükségem, főleg nem ilyen csekélységért.
„Aki nem próbálja meg a lehetetlent, az a lehetségest sem fogja elérni soha.”  (Goethe)
„Sokat kell olvasnod ahhoz, hogy megtudd, milyen keveset tudsz.” (Lia-Csin)
„Bármit tanulsz, magadnak tanulod.” (Petronius)

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #515 Dátum: 2011. március 05., 19:47:56 »
Nincs kedve valakinek kijavítania?
Kifizetem.

Nem elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: AJAX
« Válasz #514 Dátum: 2011. március 05., 12:39:18 »
Az alapismeretek és utánaolvasás teljes hiányát vélem felfedezni a kedves kérdező szavaiban. Egy kis utánaolvasás, guglizás és sokat lendíthetne a "fejlesztés"eiden.

Mező értékeit pedig js-el ugyan úgy kell lekérdezni, akár felhasználó tölti ki, akár te töltessz ki rejtett mezőt.
getElementById(...).value
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #513 Dátum: 2011. március 05., 12:28:09 »
Akkor lenne URL-ben átadva, ha GET-el küldenéd.
Post-olva meg az van, ami a params változó értéke, legalábbis a kódodban. Ami nincs benne a params-ban, az nem lesz elküldve. Az egyes űrlapmezők értékeit kell a név=érték párosokban a jobb oldalra rakni.

Ok, igaz, ha adok a params-nak több értéket akkor azt elpostoljsa.
De, hogy tudok oda olyan változót betenni, amit a felhasználó magának tölt ki?
Mert, a megtrendeles-ajax.php -ban tölti ki a mezőket a felhasználó, és az is dolgozza fel az adatokat, és ajaxal azt is hívom be..

Nem elérhető tomi6230i

  • Törzstag
  • **
  • Hozzászólások: 344
Re: AJAX
« Válasz #512 Dátum: 2011. március 05., 12:12:23 »
Akkor lenne URL-ben átadva, ha GET-el küldenéd.
Post-olva meg az van, ami a params változó értéke, legalábbis a kódodban. Ami nincs benne a params-ban, az nem lesz elküldve. Az egyes űrlapmezők értékeit kell a név=érték párosokban a jobb oldalra rakni.

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #511 Dátum: 2011. március 05., 12:04:32 »
ÕÕÕ nagyon nincs mit átadnia url-ben, hisz az user saját magának tölti ki a mezőket.
Ez egy webshopba kéne.

Van az oldal, ott a rendelést szépen behívja ajaxba, ott kitölti a nevét, címét, stb, és postolja az adatait nekem, a megrendeles-ajak.php -val.
az x=12 pedig a termék kódja, hogy azt a terméket akarja megvenni, ezt adom át urlben az megrendeles-ajax.php -ban.

Nem elérhető ThompsoN

  • Törzstag
  • **
  • Hozzászólások: 554
  • ThompsoN
Re: AJAX
« Válasz #510 Dátum: 2011. március 05., 10:23:11 »
Szerintem:
Kód: Javascript
  1. params = "x=12&nev=nev&mit=azt";
stb.
ThompsoN

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #509 Dátum: 2011. március 05., 10:18:49 »
mivel paraméternek csak egy x=12 -t adsz át, így értelemszerűen csak az fog ajaxal elküldődni.

Hogy adjam tovább a többit?
Ezeket kell url-ben átadnom? Nev, mit, tel, ir?

Nem elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: AJAX
« Válasz #508 Dátum: 2011. március 05., 10:04:27 »
mivel paraméternek csak egy x=12 -t adsz át, így értelemszerűen csak az fog ajaxal elküldődni.
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #507 Dátum: 2011. március 05., 09:23:21 »
Ja, ok.


Kód: Scheme
  1. <script type="text/javascript">
  2. function loadXMLDoc()
  3. {
  4. var xmlhttp;
  5. if (window.XMLHttpRequest)
  6. {// code for IE7+, Firefox, Chrome, Opera, Safari
  7. xmlhttp=new XMLHttpRequest();
  8. }
  9. else
  10. {// code for IE6, IE5
  11. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  12. }
  13. xmlhttp.onreadystatechange=function()
  14. {
  15. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  16. {
  17. document.getElementById("aj").innerHTML=xmlhttp.responseText;
  18. }
  19. }
  20.  
  21. params="x=12";
  22. xmlhttp.open("POST", "megrendeles-ajax.php", true);
  23. xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  24. xmlhttp.setRequestHeader("Content-length", params.length);
  25. xmlhttp.setRequestHeader("Connection", "close");
  26. xmlhttp.send(params);
  27.  
  28. }
  29. </script>
  30.  

Nem elérhető Keveqiah

  • Globális moderátor
  • Teljes tag
  • *****
  • Hozzászólások: 2.332
  • Kisb
    • Keveqiah
Re: AJAX
« Válasz #506 Dátum: 2011. március 05., 08:49:17 »
ez az a kódrészlet, ami minket ilyen formában nem érdekel. :)
Neked az ajax küldéssel van gondod és a mentést mutatod meg nekünk.
"Gonosz vagyok. Ez ugyebár nem hit dolga."
"Egy ember halála tragédia, ezrek halála statisztika."

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #505 Dátum: 2011. március 05., 08:38:36 »
Ajaxal meghívok egy postolos fromot.
A postolos from működik magába, ha ajax nélkül hívom meg.
De, ha ajaxal hívom meg akkor nem postol.

Valamiért, ha ajaxal hívom meg, akkor nem látja az imput mezőket.

Kód: PHP
  1. <?php
  2. //Hsz myaqlba küldése
  3. if(empty($_POST['nev']) ) {
  4.         echo "";
  5.         }
  6.         else{
  7.  
  8. mysql_query("INSERT INTO `shoprendelesek`
  9. (nev,
  10. mit,
  11. tel,
  12. ir,
  13. telepules,
  14. cim,
  15. megjegyzes) VALUES
  16. ('".$_POST['nev']."',
  17. '".$_POST['mit']."',
  18. '".$_POST['tel']."',
  19. '".$_POST['ir']."',
  20. '".$_POST['telepules']."',
  21. '".$_POST['cim']."',
  22. '".$_POST['megjegyzes']."'
  23. ) ");
  24. echo'<script>
  25. document.location.href = "megrendeleskoszi.php";
  26. </script>';
  27.  
  28. }
  29.  
  30. ?>

Ha az (empty($_POST['nev']  védelmet kiveszem, akkor elküldi az adatokat, vagyis pontosabban üres mezőket küld el.
Mitől lehet ez? Mit rontok el?

Nem elérhető gabor22

  • Felhasználó
  • Hozzászólások: 52
Re: AJAX
« Válasz #504 Dátum: 2011. március 04., 19:53:27 »
Jaj, ó.

Köszönöm, megoldva, benéztem.