Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [VB6] - selezione option di una select su pagina web

    Ciao a tutti.

    navigo una pagina web all'interno della mia applicazione visual basic (WebBrowser1).
    questa pagina web contiene una select con una decina di optin.

    la select è corredata dall'evento onchange, che lancia direttamente il collegamento ipertestuale ad una pagina diversa a seconda dell'option selezionata dall'utente.

    Vorrei fare in modo che sia la mia applicazione VB6 a selezionare la option, e che dunque venga eseguito l'evento onchange ad essa abbinata.

    riesco a fare tutto... tranne a fare in modo che la pagina web "si accorga" che è stata selezionata una voce diversa dal list menù, e dunque a fare in modo che venga rilevato l'evento onchange abbinato alla select.


    pagina web di esempio

    <select name="prova" onchange="vai(this)">
    <optin value="/ciao/prova0.htm">zero</option>
    <optin value="/ciao/prova1.htm">uno</option>
    <optin value="/ciao/prova2.htm">due</option>
    <optin value="/ciao/prova3.htm">tre</option>
    </select>


    codice VB6

    Webbrowser1.navigate (indirizzo)

    Set d = WebBrowser1.document
    Set oSel = d.getElementsByTagName("SELECT")(0)

    oSel.Item(2).Selected = True


    Mi carica la pagina, mi seleziona la voce corretta (la option due), ma la pagina web non "si accorge" che la voce selezionata nel list menù è cambiata...

    come posso fare per "segnalare" alla pagina web che la voce selezionata nella select è cambiata, e dunque dovrebbe attivare la funzione associata all'evento onchange della select?


    grazie!
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

  2. #2
    Ok, ho risolto:

    codice:
    Call WebBrowser1.document.frames(1).execScript("nomeFunzione();", "JavaScript")
    Dove nomeFunzione(); è il nome della funzione javascript associata all'evento onchange della Select

    Chiaramente se nomeFunzione si aspetta dei parametri, occorre passarglieli.

    nell'esempio è prevista una pagina con i frame.
    Se non ci fossero frame è sufficiente non specificare frames(1)
    «Nella mia carriera ho sbagliato più di novemila tiri. Ho perso quasi trecento partite. Ventisei volte i miei compagni mi hanno affidato il tiro decisivo e l'ho sbagliato. Nella vita ho fallito molte volte. Ed è per questo che alla fine ho vinto tutto» - Michael Jordan

    «Prima ti ignorano, poi ti deridono, poi ti combattono. Poi vinci.» - Gandhi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.