我正在编辑链接插件,以允许员工选择指向内部内容的链接。 我已设法在链接插件对话框中添加另一个选项卡,其中包含带有onKeyup事件的文本输入。这个想法是,当他们输入时,它会列出下面的结果,他们可以选择他们想要的链接。选择后,我只是用url和协议更新信息选项卡。
以下是现有链接插件的代码部分
....
....
//Should update info tab with value
function AddLink(txtLink)
{
var dialog = this.getDialog();
dialog.setValueOf('info', 'url', txtLink);
dialog.setValueOf('info', 'protocol', '');
}
//called when the user types in the search box. currently just uses text for basic testing
var searchBoxChanged = function ()
{
var dialog = this.getDialog();
var href = $(this).attr('href');
var txt = dialog.getValueOf('article', 'searchWords');
$('#searchResults').html("<a href=\"JavaScript:AddLink('/Article/View/" + txt + "')\">Test Title</a>");
}
....
....
{
//Adds extra tab to the link plugin for custom link searching
id: 'article',
label: linkLang.article,
title: linkLang.article,
elements:
[
{
type: 'text',
id: 'searchWords',
label: linkLang.articleSearch,
style: 'height:40px',
size: 29,
onKeyUp: searchBoxChanged
},
{
type: 'html',
html: '<div id="searchResults">Please start tying to get results</div>'
}
]
}
....
....
我正在使用文本框中的一些基本静态数据。在页面上创建的链接确定,但是当它被点击时我得到错误:
CRIPT5009:'AddLink'未定义
任何人都可以了解我出错的地方吗?
答案 0 :(得分:0)
根据我的经验,[“x”未定义]错误通常意味着存在语法错误,或者通常,函数中的某些内容不会根据您的想法进行评估。
可能,this.getDialog()不在上下文中,所以它不会返回任何内容。然后,dialog.setValueOf()将无效。