Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Kako osveziti select box pomocu javascripta

[es] :: Javascript i AJAX :: Kako osveziti select box pomocu javascripta

[ Pregleda: 1543 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
93.86.134.*



+87 Profil

icon Kako osveziti select box pomocu javascripta20.12.2009. u 04:23 - pre 174 meseci
Pozdrav

Ovako na jednoj formi imam izmedju ostalog jedan select box, koji se popuni vrednostima jedne kolone(naziv) jedne table iz baze. Pored tog select boxa imam dugme koje mi otvori popout.
U doticnom popout prozorcicu mi izlista tu tabelu iz baze, gde ja pomocu ajaxa/php imam odradjenu kompletnu administraciju te tabele, dodavanje novog/izmena/brisanje. E sad pitanje je kako da kad zatvorim prozor, ili kliknem dugme zatvori da meni osvezi onaj select box na glavnoj strani.

Nadam se da me je neko skapirao sta zelim.. :D

Hvala
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Kako osveziti select box pomocu javascripta20.12.2009. u 10:00 - pre 174 meseci
Možeš recimo, u zavisnosti kako ispisuješ sadržaj tog prozora kojeg otvaraš, da negde dodaš ovo:
Code:

<script type="text/javascript">
    window.opener.location.reload();
    window.close();
</script>

To bi recimo išlo u nekom delu kad prođe validacija tih nekih formi, podaci se uspešno sačuvaju, itd. To će da refresh-uje glavni prozor i da zatvori taj popup.
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
93.86.134.*



+87 Profil

icon Re: Kako osveziti select box pomocu javascripta20.12.2009. u 11:41 - pre 174 meseci
Hvala,
ali ja treba da refresujem samo select box bex refresha cele stranice.. Jel realna situacija je korisnik unosi neke podatke, dodje to tog select box-a vidi na nema opcije koja njemu treba, doda novu..

window.opener Znaci da li bi ja sa ovim ovde, mogao da manipulisem sa glavnim prozorom?

Code:
window.opener.myForm.myListBox

?

Onda bi neki pseudo kod izgledao ovako:

- Kada zatvorim prozor, izvrisim xmlhttp request ka nekom php-u koji uradi citanje iz baze. E sad posto sam jos uvek pocetnik sa ajaxom, znam samo da vratim ono html, kako ja da vratim tu korisnu informaciju koja meni treba, u mom slucaju jedan niz?

-Posto je izvrsen ajax zahtev odradim sledece: Izpraznim select box
Code:
window.opener.myForm.myListBox.options.length=0;


-I onda dodam nove stavke (.options.add)

Ja cu probati ovo sa window.opener, i ako radi onda mi ostaje samo da provalim kako da vratim nove vrednosti putem ajaxa?

Hvala

edit: probao sam i ovo radi:
window.opener.document.getElementById('text1').value="IT WORKS!!!!";

Jos samo da resim ajax i na konju sam.. :P

[Ovu poruku je menjao nnn dana 20.12.2009. u 13:29 GMT+1]
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-2.sezampro.yu.



+33 Profil

icon Re: Kako osveziti select box pomocu javascripta20.12.2009. u 15:11 - pre 174 meseci
Jedino što AJAX može da čita kao response je upravo string, odnosno ono što output-uje taj neki PHP skript (ajax handler). E al' tu ima još nešto , ne znam dal' si čuo za format podataka po imenu JSON. Grubo govoreći, ti uz pomoć JSON-a možeš da predstaviš neki niz ili objekat u vidu string-a, npr. ovako nešto:
Code:
$niz = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);

A kad to prebaciš u JSON dobiješ ovako nešto:
Code:
{"a":1,"b":2,"c":3,"d":4,"e":5}

Jako korisna stvar. I ti sad onda lagano možeš taj string, koji je u stvari niz da output-uješ i da vratiš AJAX-u.

U PHP-u imaš gotove funkcije za rad sa JSON formatom, za enkodovanje u JSON i dekodovanje iz JSON-a: http://php.net/manual/en/book.json.php. Mada ja više praktikujem da koristim ZF-ovu komponentu Zend_Json, pošto te ugrađene PHP-ove funkcije ne rade kako treba sa UTF8 enkodingom. A što se podrške u JS-u tiče, imaš i jedan plugin za jQuery: http://code.google.com/p/jquery-json/, koji omogućava rad sa JSON formatom u JS-u.

Dakle, procedura bi bila ovakva:
- u tom AJAX handler-u, rezultat (taj neki niz) output-uješ kao JSON, uz pomoć pomenutih funkcija,
- u JS-u, nakon izvršenog request-a pokupiš taj output i dekoduješ ga (pretvoriš u niz) uz pomoć pomenutog jQuery plugin-a,
- i posle dodaš nove stavke u select box.
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
93.86.134.*



+87 Profil

icon Re: Kako osveziti select box pomocu javascripta20.12.2009. u 15:41 - pre 174 meseci
Hvala, evo upravo citam o tome..


Znaci ja u php strani treba da uradim samo ovako nesto
Code:

$result=$db->db_query(select * from vrste_dokumenata);
$i=0;
$moj_niz =array();
while($rez=mysql_fetch_assoc($result)
       {
             
             $moj_niz[$i++]=$rez['naziv'];
        }
echo json_encode($moj_niz);


I ovo bi trebalo da vrati ovako nesto u ajax funkciju.
{"1":"Posiljka","2":"Dopis}

ako sam dobro svatio.

I posle to treba u js da dekodujem u niz. prodjem kroz njega i svaku vrednost dodam u select.

Sad cu da istrazim ovo sa json u javascript posto nemam jquery.. :P

edit: nasao sam ovo var json_data_object = eval("(" + json_string + ")");
kao dekoder json stringa. sad cu da testiram da li radi, pa javjam.. :P
 
Odgovor na temu

nnn
Tech Lead
Haxr.io
Beograd

Član broj: 16743
Poruke: 679
93.86.134.*



+87 Profil

icon Re: Kako osveziti select box pomocu javascripta20.12.2009. u 17:42 - pre 174 meseci
Evo napravio sam sve na pomoci.

Hvala na usmeravanju u dobrom pravcu!!
 
Odgovor na temu

[es] :: Javascript i AJAX :: Kako osveziti select box pomocu javascripta

[ Pregleda: 1543 | Odgovora: 5 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.