2015-10-23 5 views
0

отправить мне нужна помощьЯ хочу, чтобы показать DIV после нажатия на кнопку

Кнопка «закрыть модальный», что вы видите в строке ниже скрытой при нагрузке, потому что я хочу, чтобы заставить пользователей писать свои имена и перед доступом к контенту.

<div class="mc-closeModal" data-action="close-mc-modal" data-dojo-attach-point="modalClose" style="">close</div> 

Что я хочу сделать сейчас, чтобы сделать его снова появится после того, как люди вошли имена и электронные письма и нажать на кнопку «Подписаться».

Я пробовал этот код ниже в консоли, и он работает. Он отправляет детали и снова заставляет кнопку «закрыть».

$(document).ready(function() { 
$('iframe').contents().find('input.button').click() //this line targets the submit button "Subscribe" 
$("#PopupSignupForm_0 > div.mc-modal > div.mc-closeModal").show() //this line makes the "close" button appear again 
}); 

Проблема в том, что она не работает, когда я добавляю ее на веб-сайт.

Что я хочу довольно просто

Когда это событие происходит

$('iframe').contents().find('input.button').click() 

Я хочу, чтобы это выполнить

$("#PopupSignupForm_0 > div.mc-modal > div.mc-closeModal").show() 
+0

- это ваша кнопка внутри iframe? – gidim

+0

Да, кнопка отправки находится внутри рамки. Мой код отлично работает на консоли. Он отправляет детали, а затем показывает кнопку «закрыть» в правом верхнем углу. Я просто не понимаю, почему это не работает, когда я вставляю свою веб-страницу. – ValentinJesse

+0

, но где код, который привязывается к кнопке подписки формы? код, который вы здесь, просто нажимает кнопку и показывает div. что вы ожидаете, когда будете запускать его на документе? – gidim

ответ

0

Ваш код только два statments один за другим. Вы не привязываете ничего к событию клика. Если вы хотите использовать JQuery нажмем вы могли бы сделать что-то вроде этого:

$('iframe').contents().find('input.button').click(function() { 
    $("#PopupSignupForm_0 > div.mc-modal > div.mc-closeModal").show() 
}); 

Но тогда вы понятия не имеете, если пользователь действительно заполнил форму. Вместо этого вы можете попробовать следующее:

$('#content__formFields').submit(function() { 
    var isValid = true; 

    // Check if empty of not 
    $(this).find('input[type!="hidden"]').each(function() { 
     if (!$(this).val()) { 
      isValid = false; 
      //change the element's css here so user knows whats missing 
     } 
    }); 
    if (isValid) 
     $("#PopupSignupForm_0 > div.mc-modal > div.mc-closeModal").show() 
    return isValid 
}); 
+0

Я попробовал свое первое решение (одно без проверки) несколько часов назад, и это не сработало. Вот почему я довольно озадачен. – ValentinJesse

+0

«не работает» не очень информативно. произошло ли пожар? поместите предупреждение() внутри функции. В любом случае, это может быть связано с политикой того же происхождения, поскольку ваша форма находится в iframe. – gidim

+0

Я играю с ней в консоли с ней, и она ничего не делает. Веб-страница - это [ссылка] (http://www.aspeagro.com/EN_Program_Abricot.html) – ValentinJesse

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