Usuário com melhor resposta
Chamar Método (função) via javascript

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
Respostas
-
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
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 -
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? -
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 -
-
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....
-
-
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
-
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
-
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> -
Você pode chamar a função normal como se a função estivesse feita em javascript mesmo.
Exemplo:
<script language="vbscript" >
<script language="javascript" >
Function teste()
msgbox "Hello Word! "
End Function
</script>
teste();
</script>abraço
- Editado Fernando Benato quarta-feira, 29 de junho de 2016 18:15