Запуск jquery при нажатии кнопки ввода «Гравитационные формы» - PullRequest
6 голосов
/ 12 декабря 2011

Я обновил вопрос, потому что он может из-за гравитационных форм, которые мешают простой функции работать.Причина, по которой я это говорю, заключается в том, что я пробовал так много опций (перечисленных ниже) для запуска функции jQuery, и ни один из них не работает, когда должен.

У меня есть простая функция, ниже которой 100% работает...

var $contactButton  = $(".contact-slide a"),
    $contactSlide   = $("#horizon-slide");

function () {
    $contactSlide.stop().css("top","0");
};

Все просто, но я пытаюсь вызвать это, когда моя кнопка отправки нажимается из-под гравитации.

Это WordPress гравитационные формы ввода разметки ...

<input type="submit" id="gform_submit_button_1" class="button gform_button" value="Send" tabindex="7"></input>

Это все приведенные ниже сценарии, которые я пробовал, но ни один из них не запускает функцию ...

Script One

$("input#gform_submit_button_1").on('click', function () {
    $contactSlide.stop().css("top","0");
});

Script Two

$("input#gform_submit_button_1").click(function() {
    $contactSlide.stop().css("top","0");
});

Сценарий три

$("input#gform_submit_button_1").focus(function () {
    $contactSlide.stop().css("top","0");
});

Сценарий четыре

$("form#gform_1").submit(function(event) {
$contactSlide.stop().css("top","0");
});

Я также попробовал ...

return false; 

и

return true;

на всех приведенных выше сценариях, но ни один из них не возвращает функцию.Если я устанавливаю сценарии для возврата false, то форма не отправляется, но если я устанавливаю возвращение true, то форма отправляется, но функция не запускается.

Почему это происходит, я думал, что это будет простой материал?

Спасибо за любую помощь.

Ответы [ 3 ]

6 голосов
/ 14 мая 2013

Пытаетесь ли вы запустить что-то после отправки формы? Если вы используете метод отправки AJAX в форме, вы можете использовать событие gform_confirmation_loaded , чтобы запустить JavaScript после отправки формы.

$(document).on('gform_confirmation_loaded', function(e, form_id){
   if(form_id == 2) {
       $contactSlide.stop().css("top","0");
   }
});

Он будет выполняться при каждой отправке формы, поэтому, чтобы указать форму, протестируйте параметр form_id, переданный в обработчик события.

0 голосов
/ 12 декабря 2011

Вы можете управлять им из формы отправки, если у вас есть форма ..

<script type="text/javascript" src="js/jquery1.6.1.js"></script>
<script type="text/javascript">
 $(document).ready(function () {
   $("#forma").submit(function(event) {
       //do what ever you need to here
        return false;
    });
});
</script>
<form name="1stform" method="post" action="/">
    <input type="text" name="misc" id="misc" />
    <input type="submit" name="submit" id="submit" value="submit 1st form"/>
</form>
0 голосов
/ 12 декабря 2011
$contactInput.focus(function () {
    $contactSlide.stop().css("top","0");
    $('body,html').animate({
        scrollTop: 0
    }, 0);
    return true;
});

Дайте ему попробовать:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...