ugrás a tartalomhoz

HTML checkboxok, listák állapotának folyamatos monitorozása PHP-val

baloocis · 2009. Jan. 28. (Sze), 16.20
Sziasztok,
szeretnék egy olyan tesztet készíteni, ahol a válaszokat a PHP fájl azonnal kiértékeli, tehát ha a felhasználó kiválaszt egy listaelemet, mint választ, rögtön lássa, hogy az a jó, vagy rossz válasz-e.

Jelenleg nem tudom, hogy a GET és POST metóduson kívül hogyan lehet elérni a formok értékeit, de azok nem jók, mert nem akkor teszik elérhetővé az információt amikor a felhasználó bepipálja a jelölőnégyzetet vagy kiválaszt egy elemet a listából, hanem amikor az elküldő gombra kattint.

Minden segítségnek nagyon örülnék :)!
 
1

ajax

gex · 2009. Jan. 28. (Sze), 17.06
ezt javascripttel és annak valamilyen szerverrel kommunikáló kiegészítésével (pl: ajax) tudod megtenni. a legegyszerűbb, ha elolvasol pár weblabor cikket, és utána keresel egy neked tetsző keretrendszert.
2

Huh...

baloocis · 2009. Jan. 28. (Sze), 19.36
Hát,
ehhez jó sok mindent kéne megtanulnom átolvasnom... Pláne, hogy elsőkörben csak PHP-val szeretnék foglalkozni (Javascripttel csak majd később)... Biztos, hogy nem lehet vhogy PHP-val megoldani?
Mindesetre nagyon köszönöm a linkeket, még jól jöhetnek!
3

nem

cSuwwi · 2009. Jan. 28. (Sze), 20.02
attól függ hogy akarod
phpval csak úgy tudod megoldani, hogy elküldöd a formot és utána kiértékeli és visszaadja a válaszokat
javascripttel úgy hogy előre letárolod a megoldásokat és eventre (oncheck, vagy onchange) megjeleníted a választ
ennél is bonyolultabban ajaxal (javascript és php egyben) úgy, hogy eventre lefut a php script ami kiértékeli, és visszaírod a választ.

ha bonyolultabb a feladat, akkor az utóbbi javasolt, ha egyszerű akkor a második, ha nem számít hogy el kell küldeni akkor simán phpval is elég, döntsd el hogy akarod.
4

Hát akkor javascript

baloocis · 2009. Jan. 28. (Sze), 22.57
Úgy néz ki akkor, hogy csak javascriptel lehet megoldani, sajna, php-val nem. Pedig reméltem, hogy a PHP-ban is van valami onChange event, vagy valami trükkel meg lehet oldani, és ugyanilyen hatást elérni...
5

Ne keverjük a rétegeket

Poetro · 2009. Jan. 28. (Sze), 23.47
A PHP a szerver oldalon fut, az általa generált HTML, JS pedig a kliens oldalon, a böngészőben. Azaz a PHP nem tud semmit arról mi történik a böngészőben, ha egyáltalán történik, csak a hozzá érkező (alapvetően) HTTP kérésekkel foglalkozik, és egy HTML DOM esemény alapjában véve nem ilyen (hacsak nem alakítod például AJAX-szal ilyenné).
6

Igen, ezt értem...

baloocis · 2009. Jan. 29. (Cs), 17.17
Csak reménykedtem, hogy van valami megoldás, például a html form félmásodpercenként továbbítja az adatot automatikusan, akkor például lehetne látni, hogy van-e vmilyen esemény...
7

html nem képes erre, értsd meg

gex · 2009. Jan. 29. (Cs), 17.22
a html form önmagában nem fog semmit csinálni, mert a html mint olyan nem képes magától semmit sem csinálni (kivétel a meta refresh). mindenképpen javascript kell még ahhoz is, hogy fél percenként elküldje az adatot, de a felhasználóid nem fognak örülni, mert akármennyire is szépen valósítod meg, felhasználói szemmel nézve annyi látszik majd az egészből hogy félpercenként elugrál az ablak.
8

Köszönöm!

baloocis · 2009. Jan. 29. (Cs), 22.04
Igen, értem, és köszönöm mindenkinek a segítséget! Úgy látszik ehhez majd JavaScriptet is kell akkor tanulnom; sebaj, amúgy is akartam, csak később.
9

Illetve jó lenne, ha valaki

baloocis · 2009. Jan. 30. (P), 16.39
Illetve jó lenne, ha valaki röviden vázolná, hogyan kell ezt megcsinálni JavaScripttel, mert még nem nagyon szeretnék teljesen belemélyedni... Valami olyan megoldás kéne, ami átadja a dolgokat a PHP-nak, és csak azt a részét intézi, amit a PHP nem tud. Tehát ha valami kiválasztódik, akkor rögtön küldi PHP-nak. Ez megoldható?
10

jQuery-ben

Poetro · 2009. Jan. 30. (P), 17.13
$('form#formid :input').change(function () {
  var input = $(this);
  jQuery.ajax({
    type: 'GET',
    url: 'ellenoriz.php?name='+ 
      encodeURIComponent(input.attr('name')) +'&value='+ 
      encodeURIComponent(input.val()),
    dataType: 'html',
    complete: function (data) {
      input.before(data);
    }
  });
});
11

Köszönöm, de...

baloocis · 2009. Jan. 31. (Szo), 16.23
Tudnál vmiféle dokumentációt is adni hozzá :)?

Első kérdésem: ezt sima JavaScriptként beágyazhatom, vagy kell hozzá vmiféle jQuery könyvtár is, hogy működjön? Illetve, hogyan is ágyazom be? action="valami.js"?

És aztán, mit is csinál ez pontosan? GET-tel, ellenoriz.php?name= ez mi is?

Bocsi, hogy ilyen értetlen vagyok :(...
12

Alapok

Poetro · 2009. Jan. 31. (Szo), 18.50
Akkor előbb mindenképpen érdemes a HTML alapjait elsajátítani a dolognak, mert úgy látom, még ezek sem tiszták. Ha megvannak a HTML alapok, akkor jöjjenek a JavaScript nyelv alapjai, és utána a jQuery.
13

Nos, akkor mindenképpen már

baloocis · 2009. Feb. 1. (V), 20.27
Nos, akkor mindenképpen már most bele kell merülni a mélyvízbe, nincs halogatás :)... Bár reménykedtem, de gondolom, nincs is úgy értelme...