单击“重力形式”输入按钮时触发 jquery
Posted
技术标签:
【中文标题】单击“重力形式”输入按钮时触发 jquery【英文标题】:Trigger jquery when 'Gravity Forms' input button is clicked 【发布时间】:2012-01-18 12:27:42 【问题描述】:我已经更新了这个问题,因为它可能是因为重力形式阻止了一个简单的功能工作。我之所以这么说是因为我尝试了很多选项(如下所列)来触发一个 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,则表单会提交,但函数不会运行。
为什么会发生这种情况,我以为这是基本的东西?
感谢您的帮助。
【问题讨论】:
return true;
而不是 false
您的点击函数返回false
。这会阻止表单提交。
试过了,现在表单提交了,但是没有运行函数
【参考方案1】:
您是否尝试在表单提交时运行某些内容?如果您使用表单的 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 参数。
【讨论】:
【参考方案2】:如果你有表单,你可以通过表单提交来控制它。
<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>
【讨论】:
您好 Andres 感谢您的回答,我尝试了您的方法,但没有运行脚本。我尝试了返回false和true。 Return false 阻止表单提交,但 return true 确实运行函数内部的内容 代码有错误,应该是【参考方案3】:$contactInput.focus(function ()
$contactSlide.stop().css("top","0");
$('body,html').animate(
scrollTop: 0
, 0);
return true;
);
试一试:)
【讨论】:
它不运行该功能,嗯,很奇怪。我已经对我的所有代码进行了三次检查,但脚本运行良好,但我认为这与 ether 变量不起作用有关,但它应该是肯定的,或者因为我使用的是重力形式,也许那是干扰。你知道我可以通过在输入上添加一个 onclick 来做到这一点吗?谢谢 我已经在没有变量的情况下尝试过,但仍然没有运行该函数。以上是关于单击“重力形式”输入按钮时触发 jquery的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在输入单击和按钮上触发 jQuery datepicker 元素?
jQuery - 更改 iframe src 时仅在第二次单击时触发