Javascript 提供对表的回调
摘要:当我尝试向表提供Javascript 提供对表的回调,javascript,jquery,callback,jeditable,jquery-callback,Javascript,Jquery,Callback,Jeditable,Jquery Callback,摘要:当我尝试向表提供onsubmit或onreset回调时,我得到对象[函数]没有方法“应用”错误 我是如何来到这里的:我一直在为就地所见即所得编辑工作。开发是由我正在从事的一个Rails项目驱动的,该项目要求特定的功能 我添加的一个选项是使用按钮触发Jeditable的编辑模式,而不是按照中建议的模式单击可编辑文本本身。不过,下一步是在编辑模式下隐藏按钮,在离开编辑模式时再次显示按钮 藏起来很容易;我刚刚在触发函数中添加了一行,它将.toggle()发送到按钮。揭露更为棘手。我想我需要在提交
onsubmit
或onreset
回调时,我得到对象[函数]没有方法“应用”
错误
我是如何来到这里的:我一直在为就地所见即所得编辑工作。开发是由我正在从事的一个Rails项目驱动的,该项目要求特定的功能
我添加的一个选项是使用按钮触发Jeditable的编辑模式,而不是按照中建议的模式单击可编辑文本本身。不过,下一步是在编辑模式下隐藏按钮,在离开编辑模式时再次显示按钮
藏起来很容易;我刚刚在触发函数中添加了一行,它将.toggle()
发送到按钮。揭露更为棘手。我想我需要在提交或取消时再次执行.toggle()
,而Jeditable提供了onsubmit
和onreset
回调,这很有帮助
然而,当我尝试使用这些回调时,我发现这个对象[something]没有方法“apply”
错误
我所尝试的:因为这是在Rails助手的上下文中,实际的机制比这稍微复杂一些,但结果是我尝试遵循,在args中处理这个:
"onsubmit":"showTrigger",
然后包括这个脚本:
function showTrigger(settings, original) {
$(".edit_trigger[id='element_id']").toggle();
}
但是,在提交更改或取消编辑时,我会出现错误
Object showTrigger has no method 'apply'
…如上所述
我还尝试直接将函数作为“onsubmit”
参数(即“onsubmit”):“函数(设置,原始){$(\”.编辑\u触发器[id='element\u id']\”.切换();}”
然后我只得到对象函数(设置,原始){$(\”.编辑\u触发器[id='element\u id']\”)。切换()没有方法“应用”
我的回电方式一定有问题,有什么想法吗
ETA:向我建议,在Jeditable需要函数时,我以某种方式向它提供了一个字符串。然而,由于我在Rails帮助程序的上下文中工作,我根本不知道如何解决这个问题-在帮助程序中将
“showTrigger”
位设置为Ruby变量,尽管window.showTrigger()
是在加载窗口时定义的,我不知道如何在Ruby变量中指定该函数,以便在页面加载时将其识别为函数。正如我上面的ETA所建议的,问题确实是传递了字符串而不是函数。我的Rails助手通过采用n参数散列并使用.to_json
。这使得字符串函数名变成了一个带引号的字符串。为了将此参数作为函数名提供,我需要将这些特定参数作为预json参数
换句话说,我没有定义包含函数名字符串的Ruby变量,而是定义了包含函数名JSON对象的Ruby变量
然后,我将触发器重置
变量的值作为第三个参数添加到扩展()
,而不是将其作为另一个参数包含在args
散列中,该散列使用$().extend()
添加到JS中的args
对象中
当然,这一切都被捆绑在我的原始问题中没有包含的代码中,所以难怪没有人能帮忙。对不起,谢谢