En este sitio web interno me permite ingresar un dato y dependiendo de los datos se habilitará la caja de radio. ¿Cómo sé cuando la caja de radio está habilitada?

Habilitada

input id="Answer1" name="Answer" type="radio" value="C"

Discapacitado

input id="Answer1" name="Answer" disabled="disabled" type="radio" value="C"

Cuando está deshabilitado, getAttribute volverá "deshabilitado" pero cuando está habilitado, devolverá un error de tiempo de ejecución.

Uso no válido de Nula (Error 94)

Si yo usara

msgbox ie.document.all("Answer1").getAttribute("disabled")

Intenté la siguiente declaración if y ninguna la detectará cuando esté habilitada

ie.document.all("Answer1").getAttribute("disabled")  = ""
ie.document.all("Answer1").getAttribute("disabled")  = Null
ie.document.all("Answer1").getAttribute("disabled")  <> "disabled"
ie.document.all("Answer1").getAttribute("disabled")  = "disabled"  
0
DNguyen 15 nov. 2017 a las 09:40

2 respuestas

La mejor respuesta

Referencia: Atributo HTML deshabilitado

Deshabilitado es un atributo booleano. Esto significa que este valor no debe establecerse (por ejemplo, disabled = "disabled"). Si disabled está presente, la opción está deshabilitada.

<option value="volvo" disabled>Volvo</option>

Debería poder utilizar msgbox ie.document.all("Answer1").disabled. Si esto no funciona, atrapa el error

Function isDisabled(ele As Object) As Boolean
    On Error Resume Next
       isDisabled = ele.getAttribute("disabled")
    On Error GoTo 0
End Function
0
user6432984user6432984 15 nov. 2017 a las 07:08

También encuentro que esto funcionó también en la declaración if

if isnull(ie.document.all("Answer1").disabled) then msgbox "Radio box disabled" else msgbox "Radio box enabled" end if

0
DNguyen 15 nov. 2017 a las 23:34