我已经更新了这个问题,因为它可能是因为重力形式阻止了一个简单的功能。我说这个的原因是因为我尝试了很多选项(如下所列)来触发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,则表单提交但函数不会运行。
为什么会发生这种情况,我认为这将是基本的东西?
感谢您的帮助。
答案 0 :(得分:6)
您是否尝试在表单提交时运行某些内容?如果您正在使用表单的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参数。
答案 1 :(得分:0)
$contactInput.focus(function () {
$contactSlide.stop().css("top","0");
$('body,html').animate({
scrollTop: 0
}, 0);
return true;
});
试一试:)
答案 2 :(得分:0)
如果您有表单,可以从表单提交中进行控制..
<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>