Показать сообщение отдельно
  #1 (permalink)  
Старый 23.08.2011, 18:43
top top вне форума
Интересующийся
Отправить личное сообщение для top Посмотреть профиль Найти все сообщения от top
 
Регистрация: 12.08.2011
Сообщений: 15

Не вызывается функция после нажатия на ссылку
Здравствуйте. Суть вопроса в названии темы.
Сразу скажу, что на странице есть тоже ссылка и она всё вызывает нормально, а тут - даже не вызывает функцию. Вот js-код
$(document).ready(function(){
		setInterval(Status_users, 1000);
	});
var status_process_users = false;
	
	function Status_users(){
		if (!status_process_users){
			status_process_users = true;
			$.ajax({
				type: "POST",
				url: "php/ajax.php",
				data: {
					action : "status_users",
					login : nick
				},
				cache: false,
				dataType: "json",
				success: function (result){
					if (!result.no){
						$("#user_in_chat_div").html(result.users);
						status_process_users = false;
					} else status_process_users = false;
				}
			});
		}
	}
function winfunc(a,b,c,d,e,f,j,k,l,m){
	$(".userlogin").text(a);
	$(".userlogin").attr('href', "guest.php?guest=" + a);
	$(".userlogin").text(a);
	$(".usergroup").text(b);
	$(".username").text(c);
	$(".userstatus").text(d);
	$(".userdreg").text(e);
	$(".userdr").text(f);
	$(".usermail").text(j);
	$(".usersex").text(l);
	$(".userlastactivity").text(m);
	$(".userimg").attr('src', "upload/image/avatars/" + k);
	$(".usersendls").attr('href', "send_message.php?whom=" + a);
	$(".usersendmail").attr('href', "send_email.php?whom=" + a);
}
$(document).ready(function() {
	$('a[name=modal]').click(function(e) {
		e.preventDefault();
		var id = $(this).attr('href');
	
		var maskHeight = $(document).height();
		var maskWidth = $(window).width();
	
		$('#mask').css({'width':maskWidth,'height':maskHeight});
		
		$('#mask').fadeIn(1000);	
		$('#mask').fadeTo("slow",0.8);	
	
		var winH = $(window).height();
		var winW = $(window).width();
              
		var html = document.documentElement;
		$(id).css('top',  ((winH/2-$(id).height()/2)+html.scrollTop));
		$(id).css('left', winW/2-$(id).width()/2);
	
		$(id).fadeIn(2000); 
	
	});
	
	$('.window .close').click(function (e) {
		e.preventDefault();
		$('#mask, .window').hide();
	});		
	
	$('#mask').click(function () {
		$(this).hide();
		$('.window').hide();
	});			
	
});

А вот php-обработчик:
function Status_users(){
		
		$all_users = "";
		
		$time=time();
		$past=time()-180;
		
		$request_del_user = mysql_query("SELECT * FROM `users_in_chat` WHERE `time` < '$past'");
		if(mysql_num_rows($request_del_user) > 0)
			while($result_del_user = mysql_fetch_assoc($request_del_user)){
				$login = $result_del_user['login'];
				mysql_query("DELETE FROM `users_in_chat` WHERE `login` = '$login'");
			}
		
		$login = $_POST['login'];
		$result=mysql_query("SELECT * FROM `users_in_chat` WHERE `login` = '$login'");
		$rows=mysql_num_rows($result);
		if ($rows != "0") mysql_query("UPDATE `users_in_chat` SET `time` = '$time' WHERE `login` = '$login'"); 
			else mysql_query("INSERT INTO `users_in_chat` (`time`, `login`) VALUES ('$time', '$login')");
		
		$users_online_all = array();
		$request_user = mysql_query("SELECT * FROM `users_in_chat` ORDER BY id DESC");
		if(mysql_num_rows($request_user) > 0){
			$users_online_all['no'] = false;
			while($result_user = mysql_fetch_assoc($request_user)){
				
				$login = $result_user['login'];
				$user = mysql_query("SELECT * FROM `users` WHERE `login` = '$login'");
				$user = mysql_fetch_assoc($user);
					
				$userlogin = $user['login'];
				$usergroup = $user['group'];
				$username = $user['name'];
				$userstatus = $user['status'];
				$userdreg = $user['datareg'];
				$userdr = $user['dr'];
				$usermail = $user['mail'];
				$userimg = $user['img'];
				$usersex = $user['sex'];
				$userlastactivity = $user['lastactivity'];
						
				$main_news = file_get_contents("../template/user_in_chat_online.tpl");
				$main_news = str_replace("{userlogin}",$userlogin,$main_news);
				$main_news = str_replace("{usergroup}",$usergroup,$main_news);
				$main_news = str_replace("{username}",$username,$main_news);
				$main_news = str_replace("{userstatus}",$userstatus,$main_news);
				$main_news = str_replace("{userdreg}",$userdreg,$main_news);
				$main_news = str_replace("{userdr}",$userdr,$main_news);
				$main_news = str_replace("{usermail}",$usermail,$main_news);
				$main_news = str_replace("{userimg}",$userimg,$main_news);
				$main_news = str_replace("{usersex}",$usersex,$main_news);
				$main_news = str_replace("{userlastactivity}",$userlastactivity,$main_news);
				$all_users .= $main_news;
			}
		} else {
			$users_online_all['no'] = true;
		}
		
		$users_online_all['users'] = $all_users;
		echo json_encode($users_online_all);
	}

А вот шаблон(user_in_chat_online.tpl):
<table cellpadding="0" cellspacing="0" id="user_online_in_chat">
    <tr>
   		<td id="user_online_in_chat_col_ava">
    		<img src="upload/image/avatars/{userimg}" id="user_online_in_chat_ava" />
    	</td>
    	<td id="user_online_in_chat_col_info">
            <p class="login_user"><a onclick="winfunc('{userlogin}', '{usergroup}', '{username}', '{userstatus}', '{userdreg}', '{userdr}', '{usermail}', '{userimg}', '{usersex}' ,'{userlastactivity}')" href="#dialog" name="modal">{userlogin}</a></p>
            <p class="name_user">{username}</p>
            <p class="sex_user">{usersex}</p>
        </td>
    </tr>
</table>

В шаблоне есть ссылка и она не хочет вызывать функцию.
Ответить с цитированием