Запуск 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;
});
Попробуй:)