Slanje forme preko AJAX-a

Slanje forme preko AJAX-a

Idi na vrh
offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1007
  • Gde živiš: Beograd

Pravim sistem gde će korisnik moći da menja jedan tekst bez otvaranja nove stranice kada klikne dugme "Edit" i bez otvaranja i redirekcije kada klikne "Save", već sve da ide preko Ajax-a.

E, sad, trenutno mi radi prikaz teksta iz ajaxa i kliktanje na dugme edit. Kada se klikne na njega, umesto teksta pojavi se <textarea id="editarea"> sa "source codeom" texta koji je malopre bio prikazan i to spakovano u formu sa imenom "editform". E,sad, jedini problem mi je pamćenje izmena. Tj, kako da ja pošaljem preko ajax-a stranici vrednosti iz te forme? Probao sam sa otvaranjem linka putem
xmlhttp.open("POST",proces.php?action=save&value=document.getElementById('editarea').value,true) i to radi, samo što mi potpuno izbacuje nove redove i onda mi tekst recimo
Ovo je Neki tekst
se u bazi podataka zapamti kao
Ovo jeNeki tekst



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Idi na vrh
offline
  • Blood  Male
  • Saradnik foruma
  • Pridružio: 26 Jul 2003
  • Poruke: 384
  • Gde živiš: Beograd

Prijatelju, tebi treba funkcija nl2br.

http://php.net/nl2br

U sustini, ona new lines "\n" pretvara u <br /> elemente i tako dobijes ono sto ti je potrebno.


Pozdrav,
Boban.



Idi na vrh
offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1007
  • Gde živiš: Beograd

Znam za nju, al mi ne treba ona iz dva razloga.

Prvi je to što ne želim u bazi podataka da imam <br> tagove, već njih "pravim" tek pri prikazivanju stranice tom funkcijom, ili funkcijom str_replace.

Drugi, bitniji razlog Very Happy je taj što nije problem ovde do PHP-a već do javascripta. Ja i kada ubacim nl2br, on i dalje sve prikazuje u jednom redu jer mu očigledno javascript ne šalje uopšte "\n" vrednost.

Dakle,i ovako:

mysql_query("UPDATE bands SET about='".nl2br($value)."' WHERE id=".$id)

i ovako

mysql_query("UPDATE bands SET about='".$value."' WHERE id=".$id)

Taj tekst meni u bazi završi bez novih redova, baš onako kako sam napisao u gornjoj poruci.

Iako se ne razumem, mislim da je problem u tome što vrednost šaljem preko URL-a, a ne nekom drugom metodom pa zato i molim za pomoć jer tu drugu metodu ne znam

Idi na vrh
offline
  • Blood  Male
  • Saradnik foruma
  • Pridružio: 26 Jul 2003
  • Poruke: 384
  • Gde živiš: Beograd

Probaj da odradis serializaciju prvo..
http://api.jquery.com/serialize/
http://www.dotnetfunda.com/articles/article763-ser.....ript-.aspx

Idi na vrh
offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1007
  • Gde živiš: Beograd

Uspeo sam sa ovim Jquery-jem i njegovim Form pluginom. Samo što izgleda ima problem kada forma ne postoji na stranici od starta nego je ajax tek kasnije šalje, tako da sam morao sistem skroz da izmenim. Tj forma stoji nonstop na stranici, samo nije vidljiva uvek.

Idi na vrh
offline
  • Pridružio: 15 Maj 2006
  • Poruke: 330
  • Gde živiš: Babušnica
Uloguj se preko Facebooka da bi skinuo fajl:

Evo ti primer pa probaj da iskoristiš.

//index.php <!DOCTYPE> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="jquery-1.4.2.min.js"></script> <script type="text/javascript" src="custom.js"></script> </head> <body>    <div>Ime</div>    <input id="ajax-ime" name="ime" type="text" maxlength="32" />    <div>Prezime</div>    <input id="ajax-prezime" name="prezime" type="text" maxlength="32" />    <div>Tekst</div>    <textarea id="ajax-tekst" name="tekst"/></textarea>    <button id="ajax-sacuvaj">Sacuvaj</button> </body> </html>
//custom.js $(document).ready(function() {    $('#ajax-sacuvaj').click(function () {              var aime = $("#ajax-ime").val();       var aprezime = $("#ajax-prezime").val();       var atekst = $("#ajax-tekst").val();           $.post('ajax.php',{ime: aime, prezime: aprezime, tekst: atekst,}, function (data){});        }); });
//ajax.php <?php    if(isset($_POST['ime']) && isset($_POST['prezime']) && isset($_POST['tekst']))    {       $ime = $_POST['ime'];       $prezime = $_POST['prezime'];       $tekst = $_POST['tekst'];              $tekst_txt = 'ajax.txt';              $file = fopen($tekst_txt, "w");       fwrite($file, $ime."\n");       fwrite($file, $prezime."\n");       fwrite($file, $tekst."\n");       fclose($file);    } ?>

http://www.mycity.rs/must-login.png

Idi na vrh
offline
  • Blood  Male
  • Saradnik foruma
  • Pridružio: 26 Jul 2003
  • Poruke: 384
  • Gde živiš: Beograd

U jqueriju postoji metoda [url="http://docs.jquery.com/Events/live"]live()[/url] koja radi bas to sto tebi treba. Znaci umesto
$(form).submit(function() { // ... }); kucas
$(form).live('submit', function() { // ... });

Idi na vrh
offline
  • Pridružio: 10 Avg 2006
  • Poruke: 1007
  • Gde živiš: Beograd

Hvala puno ljudi, uspelo je i to baš baš jednostavno:

function aboutBandEdit(id) {    item = document.getElementById('dynamictext');        item.innerHTML = '<textarea id="editedtext" cols="75" rows="20">'+jQuery.trim(item.innerHTML)+'</textarea><br><input onClick="aboutBandSave('+id+')" type="button" class="in_button_blue" value="Save">'; } function aboutBandSave(id) {       var abouttext = $("#editedtext").val();           $.post('baseprocess.php?vw=s&action=bandabout&id='+id,{value: abouttext}, function (data){}); }


Potreban je samo minut da se registrujete - da biste učestvovali u diskusiji:
Izaberite vaše korisničko ime [username] :
Vaša email adresa je [email] : Email adresa mora biti tačna!
Ukucajte željenu šifru [password] :
Ukucajte šifru ponovo [password again] :
Jezik [language] :




Ili se jednostavno uloguj preko Facebook-a:
Ko je trenutno na forumu
 

Ukupno su 399 korisnika na forumu :: 54 registrovanih, 3 sakrivenih i 342 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 1311 - dana 15 Nov 2012 21:40

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Aleksandar Vuckovic, aljosa7, azarakhsh, BlackPhantom, Blue, bonaparta, Chuck Norris, DeAvgustini, deks2, dexter300, Djokkinen, Djordje Todorovic, Dragan Zivkovic, drimer, dzony_brate, EOD, Gama, gold_digger, hawkeye, HP 35, kibo95, Kos93, Kule, kulus, Ljilja Hnovi, ljuba, m4rk0, madza2, Markan_23, MiG-29M2, mika vrbas, Milan A. Nikolic, mpman, mrtetrt, respekt, rovac, SAA fan, samsung, Sasa Pavlovic, sezan, SlobaBgd, spajder328, spasa, SrdjanP, Srki94, strahinjacaka.babic, SVEVID2, tomislav91, Trpe Grozni, vasa.93, Veber Zoltan, vpavlovic14, zgoljo, Žan Klod vam dam
Siguran hosting