从自定义URL中删除最后一个值时出错

时间:2012-11-21 17:29:06

标签: tridion tridion-2011

我目前正在创建一个可通过自定义网址功能访问的网页。

我正在尝试删除多值字段中的所有组件。删除最后一个时,我收到Cannot delete a value错误。

<!DOCTYPE html>
<html>
<head>
    <title></title>
    <script type="text/javascript" language="javascript" src="/WebUI/Core/Controls/Popup/PopupInit.js"></script>
    <script type="text/javascript" language="javascript">
    function removeAllValues() {

        var fields = window.dialogArguments.getFields();

        if (fields != null) {
            for (var i = 0; i < fields.length; i++) {
                window.dialogArguments.container.deleteField(fields[i]);
            }
        }
    }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <input type="button" onclick="removeAllValues();" value="Delete All" />
        </div>
    </form>
</body>
</html>

LiveContent网站上有两个简短页面以外的文档吗?

1 个答案:

答案 0 :(得分:7)

您还可以稍微更改您的功能以删除除最后一个之外的所有字段,然后将最后一个字段值设置为空:

function removeAllValues() {

    var fields = window.dialogArguments.getFields();

    if (fields != null) {
        var lastFieldIndex = fields.length - 1;

        for (var i = 0; i < lastFieldIndex; i++) {
            window.dialogArguments.container.deleteField(fields[i]);
        }

        fields[lastFieldIndex].setValues([]);
    }
}