visual son resueltos qué propiedades programas practicos paso lista hechos gratis formulario eventos evento ejercicios cuáles vb6

vb6 - resueltos - qué es un evento en visual basic y cuáles son



¿Cómo recuperar el valor del formulario con execScript en VB6? (2)

Diga, este es mi código

Dim Dirección como cadena

WebBrowser1.Document.parentWindow.execScript ("var a = document.form1.address.text", "JavaScript")

¿Cómo puedo extraer el valor de document.form1.address.text a mi Address variable VB6?


Puede proporcionar una implementación IDispatch a window.external pero esto no es fácil de hacer VB6.

Más fácil sería usar la location en JS para navegar a una dirección que puede capturar en el evento Navigate en VB6, por ejemplo, http://callback?param=value&param2=anothervalue , detectar el host de "devolución de llamada", analizar los parámetros y cancelar la navegación.


Puedes usar DOM.

Digamos que tenemos un formulario HTML simple:

<html> <body> <form name="form1"> Address: <input type="text" id="address"> </form> </body> </html>

Después de cargarlo en un control WebBrowser y asegurarse de que DOM esté listo, podemos obtener el campo del texto de la address de la siguiente manera:

Private Sub cmdGetAddressText_Click() Dim HTMLElement As Object Dim Address As String Set HTMLElement = WebBrowser1.Document.GetElementByID("address") Address = HTMLElement.Value MsgBox Address End Sub

Editar:

Es incluso más simple que eso. Puede acceder al valor del campo directamente desde VB6:

Address = WebBrowser1.Document.Form1.Address.Value

Editar # 2

También es posible obtener un valor de una variable de JavaScript si lo desea:

Private Sub cmdJSVar_Click() Dim Address As String Call WebBrowser1.Document.parentWindow.execScript("var a=document.form1.address.value; alert(a);") Address = WebBrowser1.Document.Script.a MsgBox Address End Sub

Observe que el nombre de la variable JS en .Script.a mayúsculas y minúsculas (es decir, .Script.A no funcionará). Tomó un tiempo para resolver esto.