Pereiti prie turinio

Div'o refersh'as po submito


Rekomenduojami pranešimai

Primo duodu foto, kad zinotumet kas kaip atrodo ^_^

http://img39.imageshack.us/img39/8428/commentform.jpg

 

Tai vat, kai submitiu comentaro forma, pasidariau su jQuery, kad darytu db update'a

 

	$.ajax({
	url: 'comment.php',
	type: 'GET',
	data: 'name=' + name + '&date=' + date + '&comment=' + comment + '&id=' + id,

	success: function(result) {
		$('#atsakymas').remove();
		$('#comment_module').append('<div id="atsakymas"><p>' + result + '</p></div>');
		$('#kroviklis').fadeOut(500, function() {
			$(this).remove();
		});
               }

 

Cia kodas jei idomu ;). Tai vat, man reikia, kad kai submitinu ir updatina db man visi komentarai darytu .slideUp() ir slideDown(), bet per sita laika kai jis susitraukia, reikia kad refreshintusi visi komentarai ir atsirastu tas naujas komentaras kuri submitino.

 

Jei nelabai supratot pasakykit, bandysiu aiskiau isaiskinti. <_<

Redagavo SAPEK
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kažką panašaus kažkada dariau. Kiek pamenu (ir jei teisingai pamenu) tai tos animacijos tiesiog padaro elementus display:none; ko pasekoje js'as negali keisti jų turinio. Bandyk pasirašyti savo .slideUp arba paredaguoti esamą. Išbandyti mano teoriją gali paprastai - pasidaryk du divus, viena paslėpk su visibility:hidden, o kitą su display:none. Tada su js pakeisk jų turinį ir žiūrėk kas keičiasi, nes kaip minėjau - galiu tiksliai ir nebeprisiminti kas men ten buvo <_<

Nuoroda į pranešimą
Dalintis kituose puslapiuose
Ar tikrai? http://docs.jquery.com/Effects/slideUp prašom pasitikslinti ir tada erezijas skleisti <_<

 

O tu matei, kurią tavo post'o dalį aš citavau? Omeny turėjau, kad JS'ui giliai pokui, ar elemento stilius turi display:none ar ne. Tai tik stilius ir JS gali pasiekti tą elementą visada, nepriklausomai nuo jo stiliaus. Tuo tarpu tu minėjai priešingai...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Nu tai dėl to gi rašiau, kad gal "Netiksliai prisimenu, pasibandyk".

Šiaip tai jo, javascriptui dzin kaip rodomas elementas. O aš susimaišiau dėl to, kad nespausdindavo paslėptų elementų man čia kažkada, bet tai spausdinimas != javascript. Anyway, du teiginius pacitavai. O jei palieki vietos interpretacijom tai, pagal Merfio dėsnį, visada suinterpretuos netinkamai <_<

Redagavo aegis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

	 
<div id="comment_module">

<div id="comments">
<h3>2009-08-06</h3><h1>Aistis</h1></br><h4> Komentaro tekstas</h4></br></br>
</div>

<div id="comments">
<h3>2009-08-06</h3><h1>Aistis</h1></br><h4>Komentaro tekstas</h4>
</br></br></div>

<div id="comments">
<h3>2009-08-09</h3><h1>a</h1></br><h4>Komentaro tekstas</h4>
</br></br></div>

<div id="comments">
<h3>2009-08-09</h3><h1>a</h1></br><h4>Komentaro tekstas</h4>
</br></br></div> 

<div id="comment_img" >
	<a><img src="img/komentuoti.png" alt="Komentuoti" id="komentuoti" /></a>
       </div>	
       <div id="comment_form">
              //Cis komentavimo forma
       </div>
</dvi>

 

Tai man reiktu kad visas #comment_module div'as atsinaujintu po submito.

Redagavo SAPEK
Nuoroda į pranešimą
Dalintis kituose puslapiuose
	 
<div id="comment_module">

<div id="comments">
<h3>2009-08-06</h3><h1>Aistis</h1></br><h4> Komentaro tekstas</h4></br></br>
</div>

<div id="comments">
<h3>2009-08-06</h3><h1>Aistis</h1></br><h4>Komentaro tekstas</h4>
</br></br></div>

<div id="comments">
<h3>2009-08-09</h3><h1>a</h1></br><h4>Komentaro tekstas</h4>
</br></br></div>

<div id="comments">
<h3>2009-08-09</h3><h1>a</h1></br><h4>Komentaro tekstas</h4>
</br></br></div> 

<div id="comment_img" >
	<a><img src="img/komentuoti.png" alt="Komentuoti" id="komentuoti" /></a>
       </div>	
       <div id="comment_form">
              //Cis komentavimo forma
       </div>
</dvi>

 

Tai man reiktu kad visas #comment_module div'as atsinaujintu po submito.

 

Tikrai tau to reiktų? Ne geriau būtų, su ajax'u pasubmitinus naują komentarą, jo turinį ir karto arba grąžinus kaip responsą appendint kaip child'ą paskutinį comment_module div'e?

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jo gal ir tiktu. O veliau kai refreshinsiu rankiniu budu tai man ims is duomenu bazes visus irasus.

 

Bet man reikia su php patikrinti ar vartotojas yra prisijunges ar ne, jei neprisijunges, grazinti false.

Tai kaip man su jQuery parasyti if() salyga?

Redagavo SAPEK
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Uh... Nelabai kas gaunasi. Vienu zodziu, duodu visa info,k ad viskas butu aisku.

 

PHP:

 

<?php
session_start();
include('config.php');

if(isset($_POST['submit_comment'])){
if($_SESSION['logged'] == 1){
	if(!empty($_SESSION['name'])){
		if(!empty($_POST['comment'])){ 
			$content = $_GET['comment'];
			$user = $_GET['name'];
			$id = $_GET['id'];
		        date_default_timezone_set('Europe/Vilnius');
			$date = $_GET['date'];

			$sql = "INSERT INTO comments (content, user_name, date, entry_id)
					VALUES ('$content', '$user', '$date', '$id')";

				echo '<h5>Aciu uz komentara ;)</h5>';
				return(true);

		}
		else{
			echo '<h5>Jus nieko neparasete</h5>';
			return(false);
		}
	}
	else{
		echo '<h5>Vartotojas neapibreztas</h5>';
		return(false);
	}
}
else{
	echo '<h5>Norint komentuoti reikia prisijungti!</h5>';
	return(false);
}
}

?>

 

jQuery

 

$(document).ready(function(){
$('#comment_img').click(function() {
	$(this).css("display", "none");
	$("#comment_form").slideDown(700);							
});

$('#comment_submit').click(function(){
	$('#comment_form').append('<img src="img/loader.gif" alt="kraunasi" id="kroviklis" />');
	var name= $('#user_name').val();
	var comment = $('#comment').val();
	var date = $('#date').val();
	var id = $('#entry_id').val();

	$.ajax({
		url: 'comment.php',
		type: 'GET',
		data: 'name=' + name + '&date=' + date + '&comment=' + comment + '&id=' + id,

		success:
		function(result) {
			$('#atsakymas').remove();
			$('#comment_module').append('<div id="atsakymas"><p>' + result + '</p></div>');
			$('#kroviklis').fadeOut(500, function() {
				$(this).remove();
			});
			$('#comments:last').slideDown(400);
			$('#komentarai').append('<div id="comments"><h3>' + date + '</h3><h1>' + name +
'</h1></br><h4>' + comment + '</h4></br></br></div>');

			}

	});
return false;
});
})

 

Kaip ant PHP uzkomentuoju visus if'us, db atsinaujina, bet uzdedu atgal if'us ir jquery kazko neprasibrauna per juos...

Ka patartumet?

 

P.S. Uh.. kaip isikraipe forumas.. Sorry..

Redagavo SAPEK
Nuoroda į pranešimą
Dalintis kituose puslapiuose
Uh... Nelabai kas gaunasi. Vienu zodziu, duodu visa info,k ad viskas butu aisku.

 

PHP:

 

<?php
session_start();
include('config.php');

if(isset($_POST['submit_comment'])){
if($_SESSION['logged'] == 1){
	if(!empty($_SESSION['name'])){
		if(!empty($_POST['comment'])){ 
			$content = $_GET['comment'];
			$user = $_GET['name'];
			$id = $_GET['id'];
		        date_default_timezone_set('Europe/Vilnius');
			$date = $_GET['date'];

			$sql = "INSERT INTO comments (content, user_name, date, entry_id)
					VALUES ('$content', '$user', '$date', '$id')";

				echo '<h5>Aciu uz komentara ;)</h5>';
				return(true);

		}
		else{
			echo '<h5>Jus nieko neparasete</h5>';
			return(false);
		}
	}
	else{
		echo '<h5>Vartotojas neapibreztas</h5>';
		return(false);
	}
}
else{
	echo '<h5>Norint komentuoti reikia prisijungti!</h5>';
	return(false);
}
}

?>

 

jQuery

 

$(document).ready(function(){
$('#comment_img').click(function() {
	$(this).css("display", "none");
	$("#comment_form").slideDown(700);							
});

$('#comment_submit').click(function(){
	$('#comment_form').append('<img src="img/loader.gif" alt="kraunasi" id="kroviklis" />');
	var name= $('#user_name').val();
	var comment = $('#comment').val();
	var date = $('#date').val();
	var id = $('#entry_id').val();

	$.ajax({
		url: 'comment.php',
		type: 'GET',
		data: 'name=' + name + '&date=' + date + '&comment=' + comment + '&id=' + id,

		success:
		function(result) {
			$('#atsakymas').remove();
			$('#comment_module').append('<div id="atsakymas"><p>' + result + '</p></div>');
			$('#kroviklis').fadeOut(500, function() {
				$(this).remove();
			});
			$('#comments:last').slideDown(400);
			$('#komentarai').append('<div id="comments"><h3>' + date + '</h3><h1>' + name +
'</h1></br><h4>' + comment + '</h4></br></br></div>');

			}

	});
return false;
});
})

 

Kaip ant PHP uzkomentuoju visus if'us, db atsinaujina, bet uzdedu atgal if'us ir jquery kazko neprasibrauna per juos...

Ka patartumet?

 

P.S. Uh.. kaip isikraipe forumas.. Sorry..

Tikrini, ar POST'e egzistuoja param'as, kurį perduodi per GET...

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Su jQuery. Nes noriu, kad man pirma nerefreshinus puslapio pridetu komentara su ivestom reiksmem, o veliau (kai refreshinu puslapi rankiniu budu) jau nebeliktu to komentaro (taip ir bus automatiskai) ir istrauks toki pati komentara is db, taigi niekas nepasikeis, tik nereikes refreshinti puslapio. Bet, kad komentuoti, reikia kad butum prisijunges ir tavo username iraso i duomenu baze. Bet jei vartotojas neprisijunges, username'as neapibreztas ir meta errora. Tai vat.. Kaip man patikrinti su jQuery ar tas username apibreztas (kintamasis 'name' aprasomas js kode).

 

As juos apsibreziu paimdamas value is inputu, kurie su css yra padaryti hidden

 

inputai:

<input type="text" name="user_name" id="user_name" value="<?php print_r($_SESSION['name']) ?>" />

<input type="text" name="date" id="date" value="<?php date_default_timezone_set('Europe/Vilnius');
print_r(date('Y-m-d')); ?>" />
<input type="text" name="entry_id" id="entry_id" value="<?php print_r($_GET['id']); ?>" />

<textarea id="comment" name="comment" value="Tavo komentaras..." onfocus="if (this.value == 'Tavo 

komentaras...') this.value = '';"" />Tavo komentaras...</textarea></br>

 

 

apsibreziu:

var name= $('#user_name').val();
var comment = $('#comment').val();
var date = $('#date').val();
var id = $('#entry_id').val();

 

 

P.S. Po velniu..Kodel taip lengvai isitampo visas forumas..

Redagavo SAPEK
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...