Запуск jquery при нажатии кнопки ввода "Гравитационные формы"

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


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

Сценарий первый

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

Сценарий второй

$("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 ответа

Вы пытаетесь что-то запустить при отправке формы? Если вы используете метод отправки 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, передаваемый обработчику событий.

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

<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>
$contactInput.focus(function () {
    $contactSlide.stop().css("top","0");
    $('body,html').animate({
        scrollTop: 0
    }, 0);
    return true;
});

Попробуй:)

Другие вопросы по тегам