Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 提供对表的回调_Javascript_Jquery_Callback_Jeditable_Jquery Callback - Fatal编程技术网

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
对象中

当然,这一切都被捆绑在我的原始问题中没有包含的代码中,所以难怪没有人能帮忙。对不起,谢谢