2013-06-12 6 views
1

У меня есть ссылка для входа, которая открывает Fancybox и запрашивает у пользователя свое имя пользователя/пароль.Fancybox - загрузите страницу или загрузите новую страницу

Я отправляю пользовательский ввод в скрипт PHP для проверки, который возвращает сообщение об ошибке при ошибке или перенаправляет на домашнюю страницу при успешном завершении.

  • Когда получено сообщение об ошибке, я хочу, чтобы сообщение об ошибке перезагрузилось в том же родительском Fancybox.

  • Успех, я хочу, чтобы Fancybox закрывал и загружал домашнюю страницу в основном окне.

Другая проблема заключается в том, что мой CSS не загружается на #fancyboxLogin, но он загружает штраф на $fancybox.

HTML:

<a class="fancyboxLogin fancybox.iframe" href="/login">Log In</a> 

JavaScript:

$(document).ready(function() { 
    $(".fancybox").fancybox(); 
}); 

$(document).ready(function() { 
    $(".fancyboxLogin").fancybox({ 
     type: "iframe", 
     afterClose: function() { 
      parent.location.reload(true); 
     } 
    }); 
}); 

ответ

2

На странице HTML заменить

<a class="fancyboxLogin fancybox.iframe" href="/login">Log In</a> 

с этой линией

<a class="fancyboxLogin fancybox.ajax" href="/login">Log In</a> 

для сообщения об ошибке вы можете просто проверить с помощью javascript-функции с ajax и показать сообщение в теге div.

И если проверка прошла успешно, просто отправьте форму с помощью функции javascript submit(), которая отправит форму для входа и обновит страницу.

и для яваскрипта FancyBox сценарий просто поставить:

$(document).ready(function() { 
    $(".fancyboxLogin").fancybox({ 
     maxWidth : 700, 
     maxHeight : 500, 
     fitToView : false, 
     width  : '70%', 
     height  : '70%', 
     autoSize : false, 
     closeClick : false, 
     openEffect : 'none', 
     closeEffect : 'none' 
    }); 
    }); 

Я надеюсь, что это может иметь некоторую помощь

+0

Спасибо за ответ. Тем не менее, я пытаюсь сделать следующее: я использую php для проверки формы (в случаях, когда javascript отключен), и поскольку php не имеет возможностей ajax, мне нужно перезагрузить fancybox с сообщением об ошибке. – TimNguyenBSM

Смежные вопросы