Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 11 odgovora
  • 2.382 pregleda

Najnovija ↓

Jqeury ajax encoding pitanje? 10.04.2010. u 02:24 · pre 201 mesec #1
Pozdrav,moj text iz textarea sadrzri nesto ovako ččč#ćććć$đđđžžž

Obradujem podatke ajaxom,kada pastujem obicno podatke kroz ulr u php fajl za dalju obradu,onda mi se sacuva sve do znaka # samo mi sacuva ččč u bazu,a kad koristim escape za taj string,onda mi se u bazu sacuvaju svi znaci ali pretvoreni u npr nesto ovako %24+%26+%3C+%3E+%3F+%3B+%23+%3A+%3D+%2C+%22,kako da na php strani vratim nasa slova.Nadam se da ste me razumeli.
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 10.04.2010. u 11:24 · pre 201 mesec #2
U PHP-u se encode-ovani podaci iz URL-a dekoduju urldecode() funkcijom (logično :)), ali ti bi u JS logici, pri submit-ovanju te tvoje forme AJAX-om, trebao prethodno da podatke iz iste provučeš kroz param() funkciju, kako bi dobio isti efekat submit-ovanja kao POST zahtev u PHP-u, tačnije kasnije nećeš imati potrebu za dekodovanjem. To bi u najjednostavnijem slučaju moglo da izgleda ovako:
Code:
var formData = $.param($('#moja_forma').serializeArray());

I onda taj formData možeš da šalješ AJAX-om.

Inače, ja bih ti preporučio da u te svrhe koristiš dobro poznati Form plugin, jer s njim dobijaš kompletan API za sve zadatke koji se tiču submit-ovanja forme AJAX-om. S tim plugin-om bi mogao direktno da koristiš njegov ajaxSubmit() metod, koji će za tebe da odradi kompletno submit-ovanje forme, a ako ipak sam želiš da šalješ AJAX zahtev, onda možeš da iskoristiš samo formSerialize() metod, koji radi isto što i ono parče koda iznad, samo na mnogo bolji i bezbedniji način, :), npr.:
Code:
var queryString = $('#moja_forma').formSerialize(); 
$.post('neki_php_skript.php', queryString); 
Re: Jqeury ajax encoding pitanje? 10.04.2010. u 12:09 · pre 201 mesec #3
Znam za urldecode,nego sam se vise smorio,jer nije htelo da radi,a to je bilo jutros oko 3-4 sata. :( Poceo sam koristiti taj plugin ali sam se vratio nazad na sam jquery ajax,nesto mi nije islo,bio sam se zakucao,a guzva mi bila,pa sam se vratio na jquery ajax,na zalost sad moram nazad na ajax form plugin da se vratim. :( Probacu to sto si mi rekao. Hvala na odgovoru.
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 12.04.2010. u 10:35 · pre 201 mesec #5
Pa jesi pročitao na zvaničnoj stranici tog plugin-a, sve lepo piše u API sekciji. Metod ajaxForm() samo bind-uje submit event na tvoju formu, a za konkretno submit-ovanje utilizira upravo ajaxSubmit() metod, koji vrši slanje podataka iz forme AJAX-om. Što znači, ako nećeš da submit-uješ formu na submit event, ili jednostavno sam želiš da bind-uješ taj događaj na tvoju formu, onda možeš da iskoristiš samo ajaxSubmit() metod, kako bi npr. na klik na neko dugme izvršio submit forme...
Re: Jqeury ajax encoding pitanje? 19.04.2010. u 07:17 · pre 201 mesec #7
Opet ja,sad sam se zagrizao za tu formu,pitanje,kada napisemo nesto ovako

Code:

$("#moja-forma").submit(function(){
                var srz = $("#moja-forma").formSerialize();
                $.post('obrada.php',srz);
                
                return false;
            });


u srz se smesti vrednost u json formatu,a kako da dodam jos parametara u srz varijablu.
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 19.04.2010. u 07:35 · pre 201 mesec #8
Ispravka,snasao sam se,string se vraca u ovom formatu "jedan=jedan&dva=dva",pa sa + dodajemo jos parametara,a ako zelimo da koristimo f-je on success,itd onda mozemo da koristimo i &.ajax() umesto post-a ili get-a,a tad smo skoro bukvalno opet na jquery ajaxu,zar ne?
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 19.04.2010. u 09:54 · pre 201 mesec #9
Ne znam da li je ovo bug u mozzili u chrome i ie mi radi ok.
Imam 2 dugmeta na formi,jedan za izmenu a jedan za dodavanje u bazu,kada u mozzili kliknem na dugme za izmenu,izmeni mi se txt,ali mi se i doda novi txt,kao da je kliknuto i dr dugme.A dok u ie i chromeu kada kliknem na dugme za izmenu lepo mi se izmeni txt u bazi,bez dodavanja.
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 21.04.2010. u 14:50 · pre 201 mesec #10
Da se nadovezem ovde,pitanje u vezi mulsup forme,imam jednu formu i 2 razlicita submit dugmeta,desava mi se da posle vise klikova,cas na jedno dugme,cas na drugo,da pocne da mi se izvrsavaju oba dogadjaja iako sam klinuo samo na jedno dugme?Postavio sam da je cache false.
Potpis
SERVIA NOSTRUM REGNUM!
Re: Jqeury ajax encoding pitanje? 21.04.2010. u 17:11 · pre 201 mesec #11
Daj da vidimo bar malo koda, teško da će ti iko odgovoriti nešto ovako "na slepo". :)

Al' evo recimo za to što si napisao, ne znam šta tačno pokušavaš sa dva submit dugmeta, kad kažeš da očekuješ potpuno dva različita rezultata nakon klika na jedno od njih, ali u takvim situacijama je možda bolje da ta dugmad ne budu tipa submit, nego button, i da onda na svako od njih bind-uješ click, pa da pozivaš ajaxSubmit.
Re: Jqeury ajax encoding pitanje? 21.04.2010. u 18:15 · pre 201 mesec
izmenjeno 1 put, poslednji put IvanBeograd 21.04.2010. u 20:02
  1. IvanBeograd21.04.2010. u 20:02zapis iz teksta poruke
#12
Izvini ja bas nisam neki js programer,ali se ucim :) bolje stojim sa win aplikacija,js jedva da znam da debagujem :( muka me naterala da predjem sa win na net aplikacije :)
Imam ovako nesto :
Code:

<form action="moj.php" id="my-form" method="get">
  <textarea class="txt-area-class" id="txt-area-id" name="txt-area-name" cols="40" rows="1"></textarea>

 <input type="reset" value="Cancel" id="btnReset" />

  <input type="submit" value="Add text" id="btnAdd"  />

  <input type="submit" value="Edit text" id="btnEdit" />

</form>

.
.
.

 var form_add = {
        data: {'my_var':'1'},
        dataType: 'json',
        cache:false,
        beforeSubmit : function(formData, jqForm, options,responseText,msg){
            zahtevZaObradu(formData, jqForm, options,responseText,msg='Dodan je text');
        },
        url:        'moj.php',
        success:     obradjenZahtev,
        resetForm: true
    };
 var form_edit = {
        data: {'my_var':'2'},
        dataType: 'json',
        cache:false,
        beforeSubmit : function(formData, jqForm, options,responseText,msg){
            zahtevZaObradu(formData, jqForm, options,responseText,msg='Izmenjen je text');
        },
        url:        'moj.php',
        success:     obradjenZahtev,
        resetForm: true
    };
.
.
.
 function zahtevZaObradu(formData, jqForm, options,responseText,msg) {
            alert($.param(formData));
            return true;
    }
.
.
.
 $("#btnAdd").click(function(){
            $("#my-form").ajaxForm(form_add);
        });
 $("#btnEdit").click(function(){
            $("#my-form").ajaxForm(form_edit);
        });


To je odprilike to,prekucao sam sto je potrebno,problem se javlja kada dodam text,pa onda zelim da ga edituje,bilo koji text,ucitam ga u textarea i kad kliknem na edit text,onda mi doda text u bazu a i izmeni ga.Ja bih samo da mi ga izmeni,bez da ga doda :)
Na jedno dugme treba da dodam text.a na drugo da izmenim ucitan text.Hvala.
Potpis
SERVIA NOSTRUM REGNUM!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme