Безопасный getElementById или попробуйте определить, существует ли идентификатор в GUI
методUiInstance.getElementById(ID)
всегда возвращаетсяGenericWidget
объект, даже если идентификатор не существует.
Есть ли способ, как узнать, что возвращенный объект не существует в моем приложении, или проверить, содержит ли пользовательский интерфейс объект с данным идентификатором?
Решение для пользовательского интерфейса, созданное с помощью GUI Builder:
function getSafeElement(app, txtID) {
var elem = app.getElementById(txtID);
var bExists = elem != null && Object.keys(elem).length < 100;
return bExists ? elem : null;
}
Возвращает ноль, если ID не существует. Я не'• Проверьте все виджеты на наличие границы длины ключей, поэтому будьте осторожны и проверьте это с помощью графического интерфейса.
РЕДАКТИРОВАТЬ: Это решение работает только вdoGet()
функция. Он не работает в обработчиках сервера, поэтому в этом случае используйте его в сочетании с ответом @ corey-g.