Kezdőoldal » Számítástechnika » Programozás » Ha javascriptben nincs megadva...

Ha javascriptben nincs megadva egy var változó, csak később kerül feltöltésre elindítható vele egy ajax post?

Figyelt kérdés

Nincs feltöltve még egy változó, ezt a weboldalon lehetne. Ezután jönne egy ilyen:


var x =''


if (x == 'xy')

function ajax_post(){


stb...


De valami oknál fogva nem akar működni. A lényege annyi lenne hogy ha feltöltik a változót, automatikusan ajax postoljon és törölje a változó tartalmát.



2015. okt. 3. 19:45
1 2
 11/19 anonim ***** válasza:
Egy eseménykezelőt akar egy textboxra kötni, csak fingja nincs a témához.
2015. okt. 4. 10:12
Hasznos számodra ez a válasz?
 12/19 A kérdező kommentje:

Már leírtam 3szor is mit szeretnék.


-Adott egy weboldal, jelen esetben az enyém

-Tartalmaz egy változót, amit a weboldalon lehet feltölteni

-Van a weboldalon egy text box, beírsz egy betűt, pl "A"

-Ebben a pillanatban elindul az ajax post, ami továbbít PHP-ba.


Melyik része nem érthető? Azt szeretném megoldani, hogy amint beírtak valamit a textbox-ba azonnal ajax posoltjon, de úgy hogy ne kelljen hozzá lenyomni egy buttont. Hanem figyelje valami a textboxot, és amint beírtak valamit ajaxposoltjon. Ha ezután sem érthető feladom, és megyek máshová érdeklődni :D


A C#-os leírás csupán hasonlóság volt, de sokan nem értik azt a programozási nyelvet. Semmi gond, hiszen most JS-ben szeretném ugyan ezt megoldani.

2015. okt. 4. 10:32
 13/19 anonim ***** válasza:

Kedves kérdező, szerintem rosszul teszed fel a kérdést.

A fő probléma, hogy a változót honnan "töltöd fel"?

A honlap űrlapjáról adsz neki értéket, vagy külön zajlik ez?


Ha a honlap ürlapjáról adsz meg neki értéket, akkor:

* érzékelni kéne, az ürlap változását

* változás esetén a változó vegye át az ürlapmező értékét


Ezek után leellenőrizhető a változó értéke. Ha megfelelő, akkor lehet Ajax-kérést eszközölni.


Itt csináltam egy egyszeri példát:

[link]

2015. okt. 4. 11:58
Hasznos számodra ez a válasz?
 14/19 anonim ***** válasza:

Egyébként a C#-os kódod - bár ~25 évnyi programozás után nem használok C#-ot - hibás.


Már az első sor:

string x = Convert.ToInt32(Console.ReadLine());


Itt a sztenderd bemenetről érkező sztring értéket (a Console.ReadLine() metódus ugyanis azt ad vissza: [link] ), átkonvertálod egész értékké, és átadod egy sztring értékű változónak. Ez egy erősen típusos nyelvnél szentségtörés.


Pláne, hogy utána a változót egy sztringgel hasonlítod össze:

if ( x == "xy")


Szóval nem kell a konvertálás:

string x = Console.ReadLine();

2015. okt. 4. 12:05
Hasznos számodra ez a válasz?
 15/19 2xSü ***** válasza:

> Ez ugye C#-ban így néz ki:


Oké. C#-ban a ez valóban a futás egy adott pontján működik. Ennek a Javascriptes átirata valami ilyesmi lenne:


x = document.getElementById('bevitelimezo');

if (x='xy') {

alert('Kecske');

// vagy console.log('Kecske');

}


Egyrészt nem így néz ki:

if (x='xy') function valami() {

}


Egyébiránt a C#-os kódnak sincs értelme, hibás:


> string x = Convert.ToInt32(Console.ReadLine());


Oké, beolvasol egy sort. Az egy string. A Convert.ToInt32 az csinál belőle egy int típusú értéket. Ezt egy string típusú változónak akarod értékül adni, majd ellenőrizni, hogy 'xy'-e az értéke… Sajátos…


> ebben az esetben lépjen be az if ciklusba


Az if az egy feltételes elágazás, és nem ciklus. A feltételes elágazás olyan vezérlő szerkezet, ami egy adott feltételt tudsz vizsgálni és az alapján futtatsz vagy nem futtatsz le egy kódrészletet. A ciklus meg egy olyan vezérlő szerkezet, amiben a ciklusmag – innen kapta a nevét – *ciklikusan* ismétlődik egészen addig, amíg a ciklusfeltétel fennáll. Az if nem ciklus, lévén semmi nem ismétlődik benne.


Tehát az „if ciklus??? ” kérdés nem azt jelenti, hogy „if ciklus? Soha nem hallottam még róla.”, hanem azt, hogy „if ciklus? Mióta hívjuk ciklusnak az if vezérlő szerkezetet?”


~ ~ ~ ~ ~ ~ ~


> Már leírtam 3szor is mit szeretnék.


Nem, te azt írtad le, hogy szerinted hogyan kell megoldani azt, amit szeretnél, de nem tudjuk mit szeretnél. A mit szeretnék kérdésre valami ilyemi a leírás: Legyen egy weboldal egy beviteli mezővel, ami mondjuk az aktuális hőmérsékletet jelenti. Az szeretném, hogy ha beírta az értéket, akkor törölje a beviteli mező tartalmát, és anéllkül, hogy az oldal újratöltődne, küldje el azt GET paraméterként egy PHP scriptnek, ami majd letárolja ezt az értéket.


A gond az, hogy oké, van egy beviteli meződ. Sokféleképpen lehet annak a tartalmát kinyerni. Ki lehet nyerni minden változáskor. Meg ki lehet nyerni akkor, mikor elhagyja a fókusz a beviteli mezőt, meg ki lehet egy másik esemény hatására is nyerni a tartalmát, mondjuk egy „Beküld” gomb megnyomásának hatására. Nem mindegy, hogy melyikről van szó. Pl. ha azt akarod ellenőrizni, hogy az adott felhasználónév, amivel regisztrálni szeretne egy honlapra, az foglalt-e, akkor ehhez azt az eseményt kell elkapni, mikor a beviteli mező értéke megváltozott, ne kelljen az ellenőrzéshez mindig megnyomni egy „Ellenőriz” gombot. Persze ezesetben nem kell törölni a beviteli mező tartalmát. Ha viszont mondjuk hőmérsékletet akarsz beküldetni, mondjuk egy időjárási adatokat gyűjtő oldal esetén, akkor viszont nem szabad elkapni minden változást, mert ha valaki begépeli a 12-t, mint fokot, akkor az 1 megnyomása után is elküldi a beviteli mező tartalmát – ami 1 –, meg a 2-es billentyű megnyomása után is elküldi a beviteli mező tartalmát. Az eredmény, hogy a PHP scripted két adatot fog kapni, egy 1-est, és egy 12-t, holott a felhasználó csak a 12-t akart beküldeni.


Tehát még egyszer a kérdés: Pontosan mit akarsz csinálni?

2015. okt. 4. 12:21
Hasznos számodra ez a válasz?
 16/19 A kérdező kommentje:
A legjobb megoldás az lenen ha minden változáskor kinyerné.
2015. okt. 4. 19:41
 17/19 2xSü ***** válasza:

Akkor valami ilyesmi lesz:

[link]


Persze nem biztos, hogy jó megoldás. Még mindig nem tudjuk, mit szeretnél csinálni, mihez kell ez a kód.

2015. okt. 4. 20:18
Hasznos számodra ez a válasz?
 18/19 A kérdező kommentje:
Ez eddig nekem is összejött már. Csupán annyira lenen szükségem, hogy amint értéket kap, ajax postoljon. Ne kelljen semmi gombot nyomnom, csak azt az 1 dolgot figyelje hogy mikro kap értéket. És amint értéket kapott ajax postoljon.
2015. okt. 4. 21:18
 19/19 anonim ***** válasza:
Olvassál már valami programozás/javascript alapozó könyvet az isten áldjon meg...
2015. okt. 4. 21:20
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!