Ошибка удаления последнего значения из пользовательского URL

В настоящее время я создаю страницу, доступ к которой осуществляется через пользовательские функции URL.

Я пытаюсь удалить все компоненты в многозначном поле. Я получаю 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 ответ

Решение

Вы также можете немного изменить свою функцию, чтобы удалить все поля, кроме последнего, а затем установить значение последних полей в ничто:

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([]);
    }
}
Другие вопросы по тегам