Autor Tema: Leer un valor de un option de una web  (Leído 2874 veces)

0 Usuarios y 1 Visitante están viendo este tema.

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Leer un valor de un option de una web
« en: Enero 26, 2012, 11:24:31 am »
Buenas. Se que esto es para unos pocos solo. Pero a ver si doy con el tema. Tengo una web con la que trabajo y necesitaria que mi aplicaion leyera el estado de un par de Option que tiene. Solo los tipicos de marcar "Si" o "No". Ya tengo experiencia en leer o modificar controles de las webs (texbox, botones, sumits, etc), pero nunca he tenido que leer el valor de un OptionButton. El codigo fuente de la web me tira el nombre del control:
Código: [Seleccionar]
function badFacturable(){
        var facBad0=document.fSAM.facBad[0].value;
        var facBad1=document.fSAM.facBad[1].value;
       if (facBad0 != null && facBad1 != null)
       {
           if ( document.fSAM.facBad[0].checked)
           {
               document.fSAM.facBad[0].disabled=false;
           }
           if (document.fSAM.facBad[1].checked)
           {
               document.fSAM.facBad[1].disabled=false;
           }
        }
   }

En él se ve claramente el nombre de ambos Options: facBad[0] y facBad[1]
El problema lo tengo al hacer referencia a él por codigo. He tratado de leer su valor de estas maneras:

Código: [Seleccionar]
ElValor = WebBrowser2.Document.fSAM.facBad[0].Value
ElValor = WebBrowser2.Document.fSAM.item("facBad[0]").Value

Pero me da error de 91 (La variable de objeto o la variable de bloque With no está establecida )
Estoy seguro que es por los corchetes, que no los admite, pero es asi como se llaman los controles. ¿Alguna idea?
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

ssccaann43

  • Terabyte
  • *****
  • Mensajes: 970
  • Reputación: +97/-58
    • Ver Perfil
    • Sistemas Nuñez, Consultores y Soporte, C.A.
Re:Leer un valor de un option de una web
« Respuesta #1 en: Enero 26, 2012, 12:18:23 pm »
usa parentesis en vez de Corchetes a ver si funciona...! Presumo que debe ser una matriz de controles...!
Miguel Núñez.

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Leer un valor de un option de una web
« Respuesta #2 en: Enero 26, 2012, 04:12:58 pm »
Hola, para obtener la propiedad de un radio button web, debes usar la propiedad Checked. por ejemplo:

Código: (vb) [Seleccionar]
MsgBox WebBrowser1.Document.All("sex")(1).Checked
para setearlo es lo mismo:

Código: (vb) [Seleccionar]
WebBrowser1.Document.All("sex")(1).Checked = True
ese "(1)" esta ahi porque cuando los controles son matriz de control en el formulario web, hace falta decirle cual de los option button es, a traves del indice, pero si no son matriz no hace falta.

el Value solo obtiene el texto del option button.

saludos.

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Re:Leer un valor de un option de una web
« Respuesta #3 en: Enero 26, 2012, 07:06:36 pm »
Sabia que no me fallarias Seba. Eres una maquina, tio. Estoy en casa (23:05) y mañana mismo lo pruebo en el trabajo que es donde lo estoy montando y te comento el resultado. Te pido permiso para copiar tu solucion y postearla en otro foro donde tambien hice esta consulta con la idea de dejarle el camino llano a los que vengan por detras con un problema similar. Tambien eres miembro activo de ese foro, con lo cual todo queda en casa. Gracias y un saludo, compañero.
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Re:Leer un valor de un option de una web
« Respuesta #4 en: Enero 27, 2012, 04:02:56 am »
Pues si. Finalmente funciona a la perfeccion.
Código: [Seleccionar]
If URL = "javascript:go(38)" And WebBrowser2.Document.fSAM.All("facBad")(0).Checked = False Then
    Cancel = True
    Unload MensajeAviso
    MensajeAviso.Show
    MensajeAviso.Label1 = "Se te ha olvidado marca [SI] en el facturable"
    Exit Sub
End If
Esto lo tengo en el evento WebBrowser2_BeforeNavigate2, para evitar el "olvido" humano de insertar el facturable.
Saludos y gracias Seba
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente