Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok NapísalOffline : 16.05.2009 18:38

Zdravim, mam taky maly problem ktory som vsak nevyriesil resp. nerozumiem preco nefunguje...

V nizsom kode je premenna "nieco" nastavena na zaciatku funkcie na "false" v strede funkcie by sa do tejto premennej "nieco" mali zapisat data z volaneho php dokumentu... na konci premennej som zapisal obsah premennej nieco do DIVka no VZDY tam vypisuje false...

Chyba by mohla byt kdekolvek no zistil som ze je prave v tom, ze vo vnutri anonymnej funkcie sa ta premenna nieco sprava ako lokalna... ak som dal priamo do tej anonymnej funkcie napisat do DIVka obsah tej premennej tak to vykonalo.

Mozno sa spytate preco to nemozem dat do vnutra tej anonymnej funkcie... ja tam vsak nechcem dat vypisanie do DIVka ale chcem aby cela tato funkcia vracala hodnotu nieco.... co sa mi podari iba ak na jej konci dam "return nieco;" no ak sa tak stane tak mi vzdy vrati false

teda ako docielit aby som z tej anonymnej funkcie vycucol hodnotu premennej nieco a pouzil ju v nadradenej funkcii ziskajData? Tu je kod:

Kód:
function ziskajData(zdrojDat)
      {
      var nieco = false;
      var XMLHttpRequestObjekt = false;
      if (window.XMLHttpRequest) {
        XMLHttpRequestObjekt = new XMLHttpRequest();
      } else if (window.ActiveXObject) {
        XMLHttpRequestObjekt = new ActiveXObject("Microsoft.XMLHTTP");
      }
        if(XMLHttpRequestObjekt) {
          XMLHttpRequestObjekt.open("GET", zdrojDat);
          var nieco = false;
          XMLHttpRequestObjekt.onreadystatechange = function()
          {
            if (XMLHttpRequestObjekt.readyState == 4 &&
              XMLHttpRequestObjekt.status == 200) {
                nieco = XMLHttpRequestObjekt.responseText;
            }
            // document.getElementById('profil').innerHTML = nieco;
            // Ak by to bolo tu tak to funguje ale ja to chcem mat dole....
          }
          XMLHttpRequestObjekt.send(null);
        }
        document.getElementById('profil').innerHTML = nieco; // Ak je to tu tak to nefunguje
      }


Ako som sa docital tak v JavaScripte sa lokalne premenne oznacuju "var" no ja som to var ztamat zmazal a aj tak to nejde... vdaka za rady :)


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 16.05.2009 21:22

Vymaž to druhé
Kód:
var nieco = false;


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 16.05.2009 21:30

jaj to som zabudol zmazat pred uverejnenim tuto... to bolo testovanie zo zufalstva :lol:

správa sa to rovnako aj bez toho...


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 17.05.2009 12:33

Teraz sa ti síce tá premenná nastaví správne, problém je v tom, že to XMLHttpRequest volanie prebieha asynchrónne, takže v momente, keď sa pokúšaš pridávať obsah tej premennej do toho div, tá premenná obsahuje false (obsah premennej sa zmení až po tom, ako sa XMLHttpRequest ukončí).

Správne miesto na to nastavovanie obsahu div je práve to, ktoré nechceš použiť a ja netuším, čo ti na tom mieste vadí. ;) Je možné, že sa dá nastaviť, aby to volanie bolo synchrónne (teda ak si dobre spomínam), ale to spôsobí, že sa vykonávanie javascriptu zablokuje až do chvíle, keď sa skončí načítavanie (a to nie je dobrý nápad).


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 17.05.2009 16:33

no vadí mi tam to, že ten skript má vykonávať takú vec, že načíta výsledok PHP skriptu do premennej ktorú tá funkcia ziskajData vráti... čiže namiesto

Kód:
document.getElementById('profil').innerHTML = nieco;


si tam predstav

Kód:
return nieco;


Príklad:
Chcem súčin čísel 8 a 4. Funkcia bude volat "script.php?prvy=8&druhy=4". V scripte PHP sa vykona
Kód:
$sucin = $_GET['prvy'] * $_GET['druhy'];
echo $sucin;

Do premennej "nieco" si ulozim vysledok tohto volania a teda cislo 32. Na konci funkcie dam "return nieco;" a dalej tuto hodnotu mozem pouzivat v javascripte... Inak povedane nechcem vysledok tej funkcie hned niekde vypisovat do nejakeho DIVka ale dalej ho spracovavat v javascripte...

Cize tak jednoducho to podla toho asi nepojde. Skoda. Ale dik za informacie, aspon som mudrejsi, lebo tak by som este dlho nadaval kym by som to vzdal s tymto skriptom :D


Offline

Skúsený užívateľ
Skúsený užívateľ
Obrázok užívateľa

Registrovaný: 13.11.07
Prihlásený: 20.08.16
Príspevky: 1702
Témy: 0
Príspevok NapísalOffline : 17.05.2009 20:10

Prečo by to nemalo byť jednoduché? Namiesto toho
Kód:
document.getElementById('profil').innerHTML = nieco;
tam dáš
Kód:
mega_funkcia(nieco);
(alebo niečo podobné) a v tej funkcii môžeš s tým textom robiť čo len chceš.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 09.05.09
Prihlásený: 07.10.13
Príspevky: 63
Témy: 20
Bydlisko: Košice
Príspevok Napísal autor témyOffline : 17.05.2009 21:03

ech... citim sa trapne :oops:

uz chapem, tak vdaka za pomoc :)


Odpovedať na tému [ Príspevkov: 7 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. Lokalna siet a internet

v Siete

5

522

18.09.2007 9:37

Whistler Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Dá sa vytvorit lokálna sieť ?

v Sieťové a internetové programy

4

768

09.11.2010 22:02

Lukky Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. lokalna bezdrotova siet - problem s pripojenim

v Siete

2

402

30.06.2009 11:42

rastino7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna

v JavaScript, VBScript, Ajax

10

965

31.07.2008 17:35

chrono Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Premenná

v PHP, ASP

7

633

24.08.2008 16:15

p360t Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Najväčia premenná

v PHP, ASP

8

438

16.02.2010 20:48

janik366 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. PHP premenna

v PHP, ASP

17

688

27.09.2012 21:16

stenley Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Premenna (int)

v Assembler, C, C++, Pascal, Java

4

466

30.11.2010 12:54

capricorn7 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Realna premenna

v Delphi, Visual Basic

1

583

06.11.2009 21:36

Fico Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. OOP, premenna

v PHP, ASP

1

621

26.10.2009 21:44

rooobertek Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. TEXTAREA a premenna

v PHP, ASP

3

382

13.03.2008 10:35

Blackshadow Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna a switch

v PHP, ASP

2

406

07.01.2010 9:40

tyr Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna v url

v JavaScript, VBScript, Ajax

5

597

07.11.2009 11:50

johny694 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nevyuzita premenna C

v Assembler, C, C++, Pascal, Java

7

493

05.04.2017 7:14

17mark Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna do iframe

v PHP, ASP

2

240

17.11.2013 11:11

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. premenna v Delphi

v Delphi, Visual Basic

1

1104

21.04.2009 18:00

Fico Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra