2016-11-29 75 views
1

我有一些问题,当我想添加自定义的jQuery代码,影响形式。自定义jQuery不工作的Wordpress忍者表格插件

例如,当有人点击一个输入或单选按钮时,要隐藏或显示另一个输入或元素。我试图在单击时获得类似console.log('trigger');的结果或其他内容,但在dev中没有任何结果。控制台appeared.Also,我尝试以下方法:

要与.on('click', function()...调用click事件或.trigger('click');调用事件,或更改事件change

从忍者文件中嵌入脚本表格或把它放在页面内以body标签的结局在footer.php

要更改的jQuery开幕声明函数内部的工作是这样的:(function($) {$(document).ready(function(){.....

我知道我可以尝试另一种插件,我试过一个自定义jQuery的工作,但我真的很喜欢这一个,不知道为什么会这样......

感谢

回答

0

我没有足以发表评论或我会,但尝试使用开发控制台。输入$('input').click(function(){console.log('test')}),如果点击输入时在控制台中显示“测试”,则我们可以从那里开始。

+0

那么,这种功能不会在开发者控制台中工作,它会返回'undefined'。你至少在别处尝试过吗?让我们说谷歌的搜索引擎页面,你只有一个输入。 –

+1

它不应该返回任何东西。它的作用是附加一个事件处理程序,以便在每次单击输入时将字符串'test'记录到控制台。 –

0

事件没有被注册,只是因为你试图绑定事件的元素在那个时刻还没有存在(在文档加载时)。忍者表单异步加载表单内容,因此您必须等到表单完全加载后再添加事件侦听器。 这个工作对我来说:

var formExists = setInterval(function() { 
    if ($(".nf-form-cont").length) { 
    // Set your event listeners here, example: 
    $("#nf-field-1").click(function(e) { 
     console.log("click!"); 
    } 
    clearInterval(formExists); 
    } 
}, 100); // check every 100ms 
8

不知道,如果你需要这方面的帮助更多的,因为它是已有一段时间,因为你发布你的问题,但是这可能帮助别人的未来。我有相同/类似的问题,无法在忍者窗体上运行JS/jQuery,并发现它是因为忍者窗体异步加载它们的窗体。所以,当你的document.ready函数运行时,表单还不存在并且不能绑定。

忍者形式有可以如下用自己的事件就绪状态:

jQuery(document).on('nfFormReady', function(e, layoutView) { 
    // Your code goes here... 
}); 
+0

谢谢。我花了太长时间试图找到......在NF文档中是否有某处? –

+1

对不起,我不确定它是否在文档中,因为他们的网站目前似乎处于关闭状态。但是,我想我实际上在GitHub页面上找到了它的参考:https://github.com/wpninjas/ninja-forms/issues/2436,然后在Google搜索了一个正在使用的'nfformReady'的例子。 – Matthew

+1

@JoelWorsham - NinjaForms网站现在似乎已经开始运行。但是,我搜索并搜索了他们的文档和代码,但似乎没有任何有关nfFormReady事件的参考......因此,我必须从上面的Github页面上的示例中获得它。 – Matthew