Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luiz Sérgio Cardoso

Colocando javascript no meio de um código ASP

Recommended Posts

Olá galera, boa noite!

 

Estou com um problema que está me deixando cabreiro!

 

Possuo uma página chamada cadClientes.asp e ela está incluída em outra página, nela possuo algumas subs que são requisitadas através do $.ajax por essa outra página, até aí tudo bem, a função é realizada e tudo o mais.

 

O problema é que nessa página cadClientes.asp em uma sub especifica eu preciso abrir um javascript no meio do código asp e realizar uma chamada com o jQuery, ex:

 

código asp

%>

<script> $("#idCliente").val("VALOR QUE EU QUERO"); </script>

<%

código asp

 

Lembrando que esta página 'cadClientes.asp' está incluída em outra!

 

Existe alguma forma dessa chamada de javascript funcionar? Pois já tentei de várias formas e não consegui,o javascript está reconhecendo o id?

 

Agradeço desde já!

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

ex:

 

 

Response.Write(” <script language=’javascript’> alert(‘Teste de função.’); </script> “);

Compartilhar este post


Link para o post
Compartilhar em outros sites

é para funcionar, qual erro ele gera ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele simplesmente não dá nada, ignora o comando. Eu não sei é a configuração do meu ajax:

 

$.ajax({
url: url,
type:"POST",
async:false,
data:parameters,
success:function(resultado) { retorno = resultado; },
error:function(resultado) { retorno = resultado.responseText; }
});

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha este exemoplo,

Crie uma página onde tenha um botão, por exemplo. Nesse botão, você chamará uma função chamada enviaPage(), para enviar os dados via GET, mas vocês podem usar qualquer outro tipo de função que acharem melhor. É que, no caso, eu utilizo funções diferentes para enviar dados via GET e via POST.

<input type="button" name="excluir" value="Excluir id 21" onclick="enviaPage(‘excluir.asp’, ‘GET’, ‘true’, ‘conteudo’,'action=excluir&id=21′)">

A função que citei, enviaPage(), concatenará os parâmetros com a url e colocará um Math.random(), que evita que fique no cachê.

<script>
function enviaPage(url, metodo, modo, tagId, parametros)
{
goAjax( url+"?"+parametros+"&rnd"+ Math.random() , metodo, modo , tagId);
}
</script>

Agora, vem toda a função Ajax, que será responsável por tudo.

function goAjax(url, metodo, modo, tagRetorno, parametros) {
document.getElementById(tagRetorno).innerHTML=’<div align="center" class="carregando"><img src="../images/carregando.gif"><br /><br />carregando…</div>’

if(metodo == "GET") {
xmlhttp.open("GET", url, modo);
} else {
xmlhttp.open("POST", url, modo);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
xmlhttp.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
xmlhttp.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
xmlhttp.setRequestHeader("Pragma", "no-cache");
}

xmlhttp.onreadystatechange = function() {
if(xmlhttp.readyState == 4) {
retorno=xmlhttp.responseText
document.getElementById(tagRetorno).innerHTML=retorno
findScript(retorno)
}
}
if(metodo == "GET") {
xmlhttp.send(null);
} else {
xmlhttp.send(parametros);
}
}

Vamos desenvolver a página asp, que realizará a
exclusão dos registros, por exemplo. Veja que essa página é aquela
que informa no botão, quando passo os parâmetros,
enviando o retorno para a div que especifiquei no botão,
que é o conteúdo.

<%
action = request("action")
id = request("id")

if action = ‘excluir’ then
‘exclui id tal
ok = true
end if
response.write "<script>enviaPage(‘OK.asp’, ‘GET’, ‘true’, ‘mensagem’,'ok="& OK &" ‘);<script>"
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu confesso que não entendi muito bem, sou iniciante com o ASP + JavaScript, e sempre utilizei o ajax do jQuery!

 

Vou tentar explicar melhor a situação da página

 

Na página cadClientes.asp eu tenho o seguinte código

 

<!--#include file="core/funcoesCadClientes.asp--> - NO TOPO, estou dando include em uma página, essa página possui as subs que são requisitadas através do ajax nessa cadClientes.asp principal

 

Daí em cadClientes coloco o script:

 

 

	function salvaAtualizaCliente() {
		var parametros = "cmd=salvaAtualizaCliente"+$Return_FormValues();	
		var retorno = $Ajax_Content('funcoesCadClientes.asp','',parametros);
		
		var msg = retorno.split("|");
		
		
		if (msg[1]=="true") {
			$("#msg-sucess").html(" Cliente salvo com sucesso");
			$("#alert_save").show();
		} else {
			alert("Ocorreu um erro ao salvar: "+msg[0]);
			return;
		}
		
		buscaCliente('');
		
	}

Nessa função em javascript eu faço uma requisição de uma sub que está em funcoesCadClientes.asp, e peço um retorno! O Ajax está em $Ajax_Content que é uma função que eu fiz semelhante a sua para simplificar o uso do ajax.

 

Depois venho com a sub

 

sub salvaCliente(nome,bairro,logradouro,idCidade,tel1,tel2,tel3,cep,cpf)
	
	
	vlConsulta = "insert into clientes (nome,bairro,logradouro,tel1,tel2,tel3,cep,cpf,idCidade) values ('" & aspas(nome) & _
				 "','" & aspas(bairro) & "','" & aspas(logradouro) & "','" & tel1 & "','" & tel2 & "','" & tel3 & _
				 "','" & cep & "','" & cpf & "'," & idCidade & ")"
	vgBanco.execute(vlConsulta)

	%> <script> alert("TESTE"); </script> <%
	
	response.write "|true"


end sub

Mas o alert ali no meio não funciona, não só o alert, mas qualquer tipo de script não roda, parece inexistente, como se o ajax ignorasse aquela parte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo que eu percebi o ALERT não esta funcionando pois você não colocou ele dentro de um

response.write()

Coloque assim e veja se funciona.

 


	sub salvaCliente(nome,bairro,logradouro,idCidade,tel1,tel2,tel3,cep,cpf)
	 
	 
	vlConsulta = "insert into clientes (nome,bairro,logradouro,tel1,tel2,tel3,cep,cpf,idCidade) values ('" & aspas(nome) & _
	"','" & aspas(bairro) & "','" & aspas(logradouro) & "','" & tel1 & "','" & tel2 & "','" & tel3 & _
	"','" & cep & "','" & cpf & "'," & idCidade & ")"
	vgBanco.execute(vlConsulta)
	 
	%> response.write("<script> alert('TESTE'); </script>") <%
	 
	response.write "|true"
	 
	 
	end sub

Compartilhar este post


Link para o post
Compartilhar em outros sites


<%

sub salvaCliente(nome,bairro,logradouro,idCidade,tel1,tel2,tel3,cep,cpf)

 

 

vlConsulta = "insert into clientes (nome,bairro,logradouro,tel1,tel2,tel3,cep,cpf,idCidade) values ('" & aspas(nome) & _

"','" & aspas(bairro) & "','" & aspas(logradouro) & "','" & tel1 & "','" & tel2 & "','" & tel3 & _

"','" & cep & "','" & cpf & "'," & idCidade & ")"

vgBanco.execute(vlConsulta)

 

Response.Write(” <script language=’javascript’> alert(‘Teste.’); </script> “)

 

response.write "|true"

 

 

end sub

%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

<%
sub salvaCliente(nome,bairro,logradouro,idCidade,tel1,tel2,tel3,cep,cpf)
    
    
    vlConsulta = "insert into clientes (nome,bairro,logradouro,tel1,tel2,tel3,cep,cpf,idCidade) values ('" & aspas(nome) & _
    "','" & aspas(bairro) & "','" & aspas(logradouro) & "','" & tel1 & "','" & tel2 & "','" & tel3 & _
    "','" & cep & "','" & cpf & "'," & idCidade & ")"
    vgBanco.execute(vlConsulta)
    
    Response.Write(” <script language=’javascript’> alert(‘Teste.’); </script> “)
    
    response.write "|true"
    
    
    end sub
%>

 

nada ainda, quando eu peço um alert no retorno ele encara esse response.write como sendo uma string

Compartilhar este post


Link para o post
Compartilhar em outros sites
teste assim:
strMsg = "Teste!"
Response.Write "<script>alert('" & strMsg & "')</script>"

 




			
		

Compartilhar este post


Link para o post
Compartilhar em outros sites

para teste, ao invés de alert, coloque um Window.

 

Response.Write("<script LANGUAGE='JavaScript'> "; script += "window.open('sua_página.asp');"; script += "</SCRIPT>")

depois tente assim:

 

response.write "<Script>alert("Teste");</Script>"

Compartilhar este post


Link para o post
Compartilhar em outros sites

para teste, ao invés de alert, coloque um Window.

 

Response.Write("<script LANGUAGE='JavaScript'> "; script += "window.open('sua_página.asp');"; script += "</SCRIPT>")

depois tente assim:

 

response.write "<Script>alert("Teste");</Script>"

 

Nenhum dos dois também, caraca!

 

Engraçado é que em algumas aplicações que eu fazia onde eu trabalhava eu simplesmente fazia isso

 

%>

<script> alert("Teste!") </script>

<%

 

e o alert aparecia tranquilamente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

sim, e este está correto...já ví algumas loucuras acontecer com códigos. tipo inserir um código correto e num arquivo não abrir, por isso, faça o seguinte teste. crie um novo arquivo e insira o código, teste no localhost e depois no host.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá dando undefined...

indefinido!?

 

  Response.Write(” <script language=’javascript’> alert(‘Teste.’); </script> “)            response.write "|true"

 

na sub para salvar tire o primeiro response.write e veja qual o resultado resultado no responsetext... com o retorno somente do segundo response.write "|true" vc condiciona se é isso ai sim vc da o alert...

 

resolve esse indefinido que seu problema estará resolvido!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça o teste em pagina limpa sem código para ver se funciona.

 

 

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Teste</title>
</head>
 
<body>
<%
response.Write("<script>alert('TESTANDO E VERIFICANDO O SCRIPT JAVASCRIPT COM ASP');</script>>")
%>
</body>
</html>

 

Att;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.