Detectar si un elemento es visible (sin usar jquery)

Estoy tratando de detectar si un elemento html al que le di una identificación es visible o no sin usar jquery.

El contexto:

En la página de contraseña de usuario olvidada, tengo un formulario donde el usuario ingresa su nombre de inicio de sesión y hace clic en enviar. Después de eso, si ha establecido una pregunta de desafío, se mostrará y podrá responder a esta pregunta y enviar nuevamente. (mismo botón antes).

Mi problema:

cuando el usuario hace clic en enviar, en IE, si lo hace varias veces, recibirá un correo electrónico por cada vez que haga clic en él.

Lo que pienso:

Quiero desactivar el botón después de hacer clic en este botón de envío, pero solo puedo desactivarlo si dos condiciones son correctas:

Si el usuario ya ha enviado su nombre de inicio de sesión (sin errores).El usuario tiene una pregunta de desafío registrada y la responde correctamente.

No puedo cambiar el proceso que se realiza, por lo que pensé en agregar una identificación en el campo de la respuesta y comprobar si está visible. si es así y el usuario hace clic en el botón de envío, quiero aplicar el botón de desactivación de atributos en la etiqueta. Lo que no sé es cómo hacer esto sin usar jquery.

Con jQuery podría hacer algo como esto:

if($('#secretAns').is(':visible')) {
    //i think it could be the solution 
    $('#general_Submit.Label').attr( disabled, disabled );

}

aplicar en:

<div id="secretAns" class="loginTxtFieldWrapper">
    <font color='red'>*</font><input type="text" name="secretAns" />
    <input type="hidden" name="isAnswerPage" value="1"/>
</div>
<p id="loginSubmitLink">
    <input id="general_Submit.Label" type="submit" value="general_Submit.Label" />" />
</p>

Me resulta difícil buscar soluciones de javascript puro, porque todo el mundo tiende a usar jquery, y no puedo usarlo en mi aplicación, así que si alguien me puede ayudar a hacer esto con javascript puro, lo apreciaré.

Respuestas a la pregunta(5)

Su respuesta a la pregunta