Bezpieczne getElementById lub spróbuj określić, czy ID istnieje w GUI
metodaUiInstance.getElementById(ID)
zawsze wracaGenericWidget
obiekt, nawet jeśli ID nie istnieje.
Czy jest jakiś sposób, aby dowiedzieć się, że zwracany obiekt nie istnieje w mojej aplikacji, lub sprawdź, czy interfejs użytkownika zawiera obiekt o podanym identyfikatorze?
Rozwiązanie dla interfejsu użytkownika utworzone za pomocą kreatora GUI:
function getSafeElement(app, txtID) {
var elem = app.getElementById(txtID);
var bExists = elem != null && Object.keys(elem).length < 100;
return bExists ? elem : null;
}
Zwraca wartość null, jeśli identyfikator nie istnieje. Nie testowałem wszystkich widgetów pod kątem długości kluczy, więc uważaj i przetestuj je za pomocą GUI.
EDYCJA: To rozwiązanie działa tylko wewnątrzdoGet()
funkcjonować. Nie działa w modułach obsługi serwera, więc w tym przypadku użyj go w połączeniu z odpowiedzią @ corey-g.