Como ha dicho @azeós en su comentario, el error que se puede ver en el pequeño trozo de código que has compartido es que asocias custom a result. Por el momento no sabemos que es la variable custom, pero lo que si te puedo decir que las instrucciones que se ejecutan son:
- document.getElementById("resultado").innerHTML = custom
- result = document.getElementById("resultado").innerHTML;
Por lo tanto, estás almacenando en "result" el contenido de "custom", que no tiene nada que ver con el contenido HTML que tenga el elemento con id "resultado" de la página. Segúramente este será el principal problema, y suele ocurrir por copiar y pegar sin tener mucho cuidado, a todos nos ha pasado. Es cuestión de tiempo que tengas la capacidad de verlo rápidamente, y que estos problemillas no te afecten en absoluto.
En definitiva, tendrías que modificar la línea...
var result = document.getElementById("resultado").innerHTML = custom;
Para dejarla así...
var result = document.getElementById("resultado").innerHTML;
Para que veas un ejemplo más claro de lo que te estoy diciendo, aquí tienes un ejemplo donde se hace una asignación de valor múltiple.
var objetoCustom = "PrimerMensaje"; // Este objeto no se sabe si está inicializado siquiera
var objetoHtml = "htmlInterno"; // Esto reemplazaría el código de document.getElementById("resultado").innerHTML
var result = objetoHtml = objetoCustom;
alert(result);