none
Chamar Método (função) via javascript RRS feed

  • Pergunta

  • e ai galera tudo blz? espero que sim...

    pessoal estou com a seguinte duvida, tenho uma aplicação web, que possui um metodo ConstruirComponentes() feito em vbscript, como posso chamar esse metodo dentro de uma função javascript?

    vlw pela ajuda galera



    quinta-feira, 19 de outubro de 2006 17:11

Respostas

Todas as Respostas

  • Hartigan,

    não entendi muito bem... você quer chamar uma função javascript dentro do vbscript? Poderia dar mais detalhes? Qual tecnologia está usando?

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    quinta-feira, 19 de outubro de 2006 17:18
    Moderador
  • Olá ricardo

    deixa eu explicar melhor

    eu tenho uma função em javascript chamada Inicia(), essa função é carregada no evento onload da pagina

    eu tambem construi uma função em vbscript chamada teste(), eu gostaria de saber se eu posso chamar a função teste() atraves da função Inicia()

    blz?
    quinta-feira, 19 de outubro de 2006 17:47
  • Hartigan,

    até onde sei, não é possível, mas nunca precisei fazer isso.... não poderia fazer tudo em vbscript ou tudo em javascript?

     


    Ricardo Oneda
    http://oneda.mvps.org/blog

    quinta-feira, 19 de outubro de 2006 18:17
    Moderador
  • blz Ricado vou seguir seu conselho
    quinta-feira, 19 de outubro de 2006 18:32
  • Olá Hartigan,

    O que vc quer, não é chamar uma função do VbScript, no client?! Existem vários framework's que fazem isso, como o Atlas/AJAX/Magic Ajax, Segue um link para o melhor "esclarecimento"...

    http://www.linhadecodigo.com.br/artigos.asp?id_ac=952&pag=1

    Espero ter ajudado, Iter Vinicius.

    em vb.net, ficaria assim:

    <ajax.method() > _

    public sub Teste()

        // coloque sua lógica aqui.

    end sub

    dentro do client vc faz assim:

    function testeservidor()

    {

      nomedasuaclasse.Teste(teste_callback);

    }

    function teste_callback (response)

    {

     

    }

     

    É mais ou menos isso....

     

     

    quarta-feira, 25 de outubro de 2006 12:13
  • vlw vinicius!
    quinta-feira, 26 de outubro de 2006 20:07
  • Senhores peço licença pra usar o post, pois tenho uma dúvida relaciona

    Ola Vinícius, acho que sua dica vem de encontro com minha necessidade, pelo menos alguns contato que tive indicaram usar ajax, mas não tenho domínio e vou dar uma olhada no link que vc indicou.

    Mas tenho o seguinte caso, vou colocar o código que esta no click do meu botão e vou explicando.

    Veja ai se da para entender...O contexto é o seguinte. Tenho um textbox e informo um item daí clico no botão btnmaisl ele busca no banco se voltar um único registro beleza mas se volta mais de um ou nenhum tenho que chamar um tela de pesquisa e depois tenho que validar a escolha.?

    Como aplicar o tal do ájax....? t+

     

    Private Sub btnMaisL_Click....

    Session("vsCodpesq") = ""

    Dim voDs As New DataSet

    Dim vsItem As String

     

    Abaixo Populo meu dataset

    vcItemG.I_Busca_Item(Session("vsSc"), voDs, , , IIf(IsNumeric(vsItem), "", vsItem), 1, IIf(IsNumeric(vsItem), vsItem, ""))

    Se meu dataset for diferente de 1, chamo um popup para pesquisar itens…(ai que esta meu problema pois quando saio do processo seqüencial, ou seja, vou para outra pagina e depois volto perco a seqüência, pois não funciona como um VB6 ou desktoq como queiram, portanto quando entra neste if o restante do codigo não funciona)

    If voDs.Tables(0).Rows.Count <> 1 Then

    Dim vsText As String

    Session("vsPesquisaOque") = "Item"

    vsText = "txtItemL"

    Session("vsPesquisa") = txtItemL.Text

     

    RegisterStartupScript("msg", "<script language='javascript'> " & _

    "var resultado = window.showModalDialog('frmPesquisa.aspx', '', " & _

    "'dialogheight:400px;dialogWidth:700px; status:no; help:no; " & _

    "scroll:no;edge:raised;'); " & _

    "if(resultado!=null) document.all('" & vsText & "').value = resultado;</script>")

    Else

    Session("vsCodpesq") = voDs.Tables(0).Rows(0).Item("codigo")

    End If

    If Len(Trim(Session("vsCodpesq"))) > 0 Then

    fTrata_item(Session("vsCodpesq"))

    End If

    voDs.Dispose()

    End Sub

    quinta-feira, 26 de outubro de 2006 22:14
  • Olá Dalmiro, tudo bem?! ( espero que sim )...

    Certamente não irá funcionar, dessa forma, qndo vc utiliza ajax, vc não consegue utilizar sessions, ou fazer algumas "requisições", como por exemplo, response.redirect ou algo assim, então sua session sempre estará vazia, ou algo do genero, provocando algum erro...

    Bom, eu te aconselho vc passar esses parametros via querystring, e no client vc "atira" de volta os valores...

    window.opener.getelementbyid('campo').value e qndo vc carregar em ajax, terá o valor lá...

     

    p.s: por favor, marque a resposta como util, para que outras pessoas, possam localizar rapidamente uma "solução".

    Espero ter ajudado.

     

    Iter

    sábado, 28 de outubro de 2006 15:56
  • Para chamar uma função VBScript no JavaScript:

    <SCRIPT LANGUAGE="VBSCRIPT">
    Function fazerMatrizVB()
        ' Cria uma matriz em VBScript
        dim umaMatriz(1,1)
        umaMatriz(0,0) = "0,0"
        umaMatriz(0,1) = "0,1"
        umaMatriz(1,0) = "1,0"
        fazerMatrizVB = umaMatriz
    End Function
    </SCRIPT>


    <SCRIPT LANGUAGE="JavaScript">
    function obterMatrizVB(){
        var objMatriz;
        var MatrizJS;
        objMatriz = fazerMatrizVB();
        MatrizJS = VBArray(objMatriz).toArray();
        alert("Comprimento da matriz de VBScript = " + MatrizJS.length);

        for(i=1;i<=MatrizJS.length;i++){
           alert(MatrizJS[i-1]);
        }
    }
    </SCRIPT>

    sexta-feira, 26 de março de 2010 19:33
  • Você pode chamar a função normal como se a função estivesse feita em javascript mesmo.

    Exemplo:

    <script language="vbscript" >
    Function teste()
        msgbox "Hello Word! "
    End Function
    </script>

    <script language="javascript" >
       teste();
    </script>

    abraço


    quarta-feira, 29 de junho de 2016 18:14