Poslao: 21 Dec 2010 19:49
|
offline
- igorpan
- Super građanin
- Pridružio: 10 Avg 2006
- Poruke: 1009
- 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.
|
|
Poslao: 22 Dec 2010 09:52
|
offline
- Blood
- Ugledni građanin
- 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.
|
|
|
|
Poslao: 22 Dec 2010 13:37
|
offline
- igorpan
- Super građanin
- Pridružio: 10 Avg 2006
- Poruke: 1009
- 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 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
|
|
|
|
|
Poslao: 26 Dec 2010 14:09
|
offline
- igorpan
- Super građanin
- Pridružio: 10 Avg 2006
- Poruke: 1009
- 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.
|
|
|
|
Poslao: 26 Dec 2010 18:58
|
offline
- MSMarkoN
- Ugledni građanin
- Pridružio: 15 Maj 2006
- Poruke: 333
- Gde živiš: Babušnica
|
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);
}
?>
https://www.mycity.rs/must-login.png
|
|
|
|
Poslao: 27 Dec 2010 10:30
|
offline
- Blood
- Ugledni građanin
- 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() {
// ...
});
|
|
|
|
Poslao: 27 Dec 2010 16:20
|
offline
- igorpan
- Super građanin
- Pridružio: 10 Avg 2006
- Poruke: 1009
- 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){});
}
|
|
|
|