Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 25.01.2012, 15:48
Аспирант
Отправить личное сообщение для okapo Посмотреть профиль Найти все сообщения от okapo
 
Регистрация: 15.04.2011
Сообщений: 56

colorbox autoclose
Всем привет

помогите не могу сделать что бы окна (http://jacklmoore.com/colorbox/) сама закрылась после успешного ответа

вот мой код
$(document).ready(function()
{
    $("#thankForm").submit(function()
    {
        var str = $(this).serialize();
        $.ajax({
            type: "POST",
            url: "inc/engine/thank/handler.php",
            data: str,
            dataType: "json",
            success: function(msg)
            {
                $("#thxnote").ajaxComplete(function(event, request, settings)
                {
                    if (msg.status) 
        {
      $.fn.colorbox.close();
      sNotify.addToQueue(msg.message);
                    }
                    $(this).html(msg.message);
                });
            }
        });
        return false;
    });
});




пробовал
$.fn.colorbox.close();
$.colorbox.close()

результата нет

в чем проблема может быть?
Ответить с цитированием
  #2 (permalink)  
Старый 26.01.2012, 17:29
Аспирант
Отправить личное сообщение для okapo Посмотреть профиль Найти все сообщения от okapo
 
Регистрация: 15.04.2011
Сообщений: 56

что никто не знает что ли ?

ребят ну поомогите не могу розабратся
Ответить с цитированием
  #3 (permalink)  
Старый 26.01.2012, 17:49
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

вот пример http://jsfiddle.net/fbenariac/4vuDC/18/
открывается - закрывается

у вас точно выполнение кода доходит до строки
colorbox.close()
?
Ответить с цитированием
  #4 (permalink)  
Старый 31.01.2012, 03:47
Аспирант
Отправить личное сообщение для okapo Посмотреть профиль Найти все сообщения от okapo
 
Регистрация: 15.04.2011
Сообщений: 56

вот мой обработчик php

if ((!empty($_POST)) ? true : false) 
{
    include('../../data/config.php');
    include('../../classes/general.php');
    $result = array();
    $result['status'] = 0;
    $result['message'] = '';

    // проверяем авторизацию
    if ($_SESSION['auth'] && is_numeric($_SESSION['myid'])) 
    {
        if (isset($_POST['id']) && is_numeric($_POST['id']) && ($_POST['valuta'] == 'acc' || $_POST['valuta'] == 'lc'))
		{		
			$mres =  mysqli_fetch_assoc($mysqli->query("SELECT `id`,`money`,`credits` FROM ".DB_PREFIX."_users WHERE `id`='".intval($_SESSION['myid'])."'"));
	    		
			$sql = $mysqli->query("SELECT * FROM ".DB_PREFIX."_thanks WHERE `from`='".intval($_SESSION['myid'])."' AND `to`='".intval($_POST['id'])."'");
	    	$res = mysqli_fetch_assoc($sql);
	    	if ($_POST['id'] == $_SESSION['myid'])
	    	{
	     		$result['message'] .= 'Вы не можете отблагодарить сами себя.<br />';
	    	}
			else if ((time()-$res['date']) < 86400 && mysqli_num_rows($sql) > 0)
            {					
	    		$result['message'] .= 'Отблагодарить можно раз в 24 часа.<br />';
	        }
			else
			{
                if (empty($_POST['suma']))
	    		{
	     			$result['message'] .= 'Пожалуйста, укажите сумму благодарности.<br />';
	    		}
	    		else
	    		{
	    		    if (!is_numeric($_POST['suma']))
	    			{
	    				$result['message'] .= 'Неверно указана сумма. (ПР. 1 или 1.1 или 1.11)<br />';
	     			}
	     			if ($_POST['valuta'] == 'acc' && floatval($_POST['suma']) > $mres['money'])
		     		{
		    			$result['message'] .= 'У Вас недостаточно средств на счету.<br />';
		    		}
		    		else if ($_POST['valuta'] == 'lc' && floatval($_POST['suma']) > $mres['credits'])
		    		{
		    			$result['message'] .= 'У Вас недостаточно средств на счету.<br />';
		     		}
		     	}
				// Проверяем текст
                if (empty($_POST['desc']))
                {
            	    $result['message'] .= 'Пожалуйста, введите текст.<br />';
                }
            	else if (strlen($_POST['desc']) > 100)
                {
             	    $result['message'] .= 'Введённый текст превышает 100 символов.<br />';
                }
            }
		}
		else
		{
		    $result['message'] .= 'Ошибка страницы.<br />';
		}
    } 
	else
    {
    	$result['message'] .= 'Вы не авторизованны.<br />';
	}

     // если ошибок нет заносим в базу
     if(!$result['message']) 
	{
        $mysqli->query("INSERT INTO `".DB_PREFIX."_thanks` (`from`,`to`,`desc`,`suma`,`valuta`,`date`)VALUES('".intval($_SESSION['myid'])."','".intval($_POST['id'])."','".input($_POST['desc'])."','".floatval($_POST['suma'])."','".$_POST['valuta']."','".time()."')");
		
		$result['message'] = '<font color="green">Операция успешно завершена.</font>';
		$result['status'] = 1;
    } 
	else
    {
    	$result['message'] = '<font color="red">'.$result['message'].'</font>';
    }
	echo json_encode($result);
    $mysqli->close();
}
else
{
    die('You are not allowed to execute this file directly');
}


вот js
$(document).ready(function()
{
    $("#thankForm").submit(function()
    {
        var str = $(this).serialize();
        $.ajax({
            type: "POST",
            url: "inc/engine/thank/handler.php",
            data: str,
            dataType: "json",
            success: function(msg)
            {
                $("#thxnote").ajaxComplete(function(event, request, settings)
                {
                    if (msg.status) 
					{
					$.colorbox.close();
                    }
                    $(this).html(msg.message);
                });
            }
        });
        return false;
    });
});


если в
if (msg.status) 
					{
					$.colorbox.close();
                    }


присутствует $.colorbox.close();

то успешный ответ с php не возврощается, проста добавляется в базе, хотя допускаемые ошибки хорошо показывает, а если я снимаю $.colorbox.close(); то успешный ответ от php выводится

в чем я ошибаюсь ?
Ответить с цитированием
  #5 (permalink)  
Старый 31.01.2012, 10:57
Лаборант :-)
Отправить личное сообщение для Pavel M. Посмотреть профиль Найти все сообщения от Pavel M.
 
Регистрация: 08.11.2011
Сообщений: 806

я вам показал пример где закрытие работает
дальше сами - смотрите в отладчике
есть ли ошибки, доходит до ...close() или нет
сейчас, к сожалению, нет времени воспроизводить у себя ваш пример
возможно кто-то еще поможет
Ответить с цитированием
  #6 (permalink)  
Старый 31.01.2012, 19:30
Аспирант
Отправить личное сообщение для okapo Посмотреть профиль Найти все сообщения от okapo
 
Регистрация: 15.04.2011
Сообщений: 56

вроде помогло спасибо
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение скриптов в ColorBox oskolsky AJAX и COMET 4 19.12.2011 06:09
Проблемки с colorbox Musin jQuery 3 18.03.2011 00:46