我有一个自定义URL,用于加载多值文本字段中的所有字段以进行修改。
单击保存按钮时,它应该更新所有字段,但目前所做的只是添加其他参数而不是更新现有的参数,如何删除所有准备重新填充的现有值。
我的保存功能如下所示
function SaveAndClose()
{
var returnValues = new Array();
var selectobject=document.getElementById("FeedItem")
for (var i=0; i<selectobject.length; i++)
{
if (selectobject.options[i].value != '')
{
returnValues.push(selectobject.options[i].text);
}
}
window.returnValue = returnValues;
self.close();
}
答案 0 :(得分:3)
IIRC :)多值字段的自定义URL弹出窗口的返回值是一个字符串数组。
因此,只需返回一个空数组,实际上应该删除该字段的所有值。
修改强>
我前一段时间采用的方法是弄乱Tridion Component窗口的DOM结构。因此,在我的弹出代码中,我将处理“父”窗口并使用JavaScript(jQuery会很好地完成)识别您想要的字段并删除其所有“多值”子节点。然后只需在JS window.returnValue中返回数组,然后使用您想要的值填充它。
不幸的是我几年前找不到我写的代码......所以你独自一人......
答案 1 :(得分:0)
这可以通过SDL Tridion 2011中引入的新API实现,但我认为您无法在2009年实现。
(第9.15.3节,使用自定义URL填写字段的值)
多值字段 - 应该使用数组作为returnValue。每个条目 在数组中表示字段中插入的值。