2010-10-05 4 views
1

Всплывающее окно Facebox содержит форму с кнопкой отправки. У меня также есть вторая кнопка для открытия несвязанного всплывающего окна Facebox, которое работало до того, как я добавил jQuery.validate в проект. Перед отправкой мне нужно проверить поля электронной почты и пароля.jQuery.validate может сломаться Facebox всплывающее окно

Я должен добавить, что эти всплывающие окна загружаются через внешние .html-файлы. Это загрузило их через запрос AJAX.

На index.html, всплывающие окна настроены ($ к равно jQuery.noConflict());

$k('a[rel*=example_2]').facebox_1({ 
    loading_image : '/images/loading.gif', 
    close_image : '/images/closelabel.gif' 
}); 

И ссылка щелкнул, чтобы открыть выше Facebox:

<a href="login.html" title="Log In" rel="example_2" id='login'>Log In </a> 

И все ниже в login.html

проверки достоверности:

$(function() { 
    $('form[name="login"]').validate({ 
     rules: { 
      email: { required: true, email: true }, 
      password: "required" 
     }, 
     messages: { 
      email: "", 
      password: "" 
     } 
    }); 
}); 

а также форма:

<form name="login" method="post" action="login.aspx"> 

И кнопка, которая не работает

<a href="#" title="Register" onclick="showRegister()" ><img src="images/register.jpg" /></a> 

Ник помог мне получить вид проводки в this пост, но это, кажется, сломана другую кнопку. У меня возникают проблемы с отладкой скрипта, потому что я не знаю, сможет ли Firebug установить точки останова на страницах с запросом (через XHR).

Я попытался добавить обработчик кликов к сломанной кнопке, которая только что называется showRegister(), и это тоже не сработало. showRegister() простые звонки $('#linkFromIndexDotHtml').click();, который является, по сути, ссылкой из index.html. Я думал, что это может быть проблема, но она работала до этого.

+0

Какой * другой * кнопка? Я не понимаю, на чем здесь нарушена, можете ли вы немного расшириться? –

+0

Другая «кнопка» - это '', где 'showRegister()' вызывает .click по ссылке, которая существует на родительской странице index.html. Имеет ли это смысл? Эта кнопка находится в форме на login.html. Я пробовал это вне формы, и он ведет себя одинаково. –

+0

Итак, похоже ли, что я должен написать свою собственную проверку? –

ответ

0

У меня была такая же проблема, и решить ее с информацией из http://old.nabble.com/Validation-and-Facebox-td22187264s27240.html

$.extend($.facebox, { 
    settings: { 
    dom_data: null, 
    dom: null, 

... * добавить в переменных Dóm и dom_data в основной декларации о facebox

if (href.match(/#/)) { 
     var url = window.location.href.split('#')[0] 
     var target = href.replace(url,'') 
     $.facebox.settings.dom = target; 
     $.facebox.settings.dom_data = $(target).children(); 
     $.facebox.reveal($(target).children().show(), klass) 

. .. * это в fillFaceboxFromHref

, наконец,

$(document).bind('close.facebox', function() { 
    if($.facebox.settings.dom){ 
    $($.facebox.settings.dom).append($.facebox.settings.dom_data); 

    $.facebox.settings.dom = null; 
    $.facebox.settings.dom_data = null; 
    } 

... * это в конце файла

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

  • Нет связанных вопросов^_^