Ir para conteúdo

POWERED BY:

Arquivado

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

Neto Diniz

Passar informações POST campos de um formulário via AJAX.

Recommended Posts

A PÁGINA ASP QUE VAI ENVIAR A SOLICITAÇÃO

<script language="javascript" type="text/javascript">

function "enviaSolicitacao(){
	var form = document.getElementById("form");
	cadServico("./sistemas/sac/ajax/listUnidConsumidoraAjax.asp","POST","true","grid",form); // AJAX
}

</script>

<h1>TESTE DE SOLICITAÇÃO VIA POST</h1>

<form id="form" name="form">
<table>
	<tr>
		<td width="15%">
			Matricula
		</td>
		<td width="85%">
			<input type="text" name="txtMatricula" id="txtMatricula" maxlength="10" />
		</td>
	</tr>
	<tr>
		<td width="15%">
			Nome
		</td> 
		<td width="85%">
			<input type="text" name="txtNome" id="txtNome" maxlength="150" size="50" />
		</td>
   
</table>

<table>
	<tr>
		<td align="center">
			<input type="button" name="pesquisar" value="Pesquisar" onclick="enviaSolicitacao();" />
		</td>
	</tr>
</table>

</form>
<div id='grid'></div>

imagine o seguinte ajax:

function cadServico(url, metodo, modo, tagRetorno, objForm) {
	if (window.XMLHttpRequest) { 
			xmlhttp = new XMLHttpRequest();
			if (xmlhttp.overrideMimeType) {
				xmlhttp.overrideMimeType('text/xml');
			}
		} else if (window.ActiveXObject) { 
			try {
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
	   
		if(metodo == "GET") {
			xmlhttp.open("GET", url, modo);
		} else { 
			var parametros = mountParameters(objForm); // MONTANDO OS PARAMETROS UTILIZANDO A FUNÇÃO CRIADA ABAIXO
			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 == 1) {			
			document.getElementById(tagRetorno).innerHTML = '<img src="./imagens/fake_loader.gif">';
		}
		if(xmlhttp.readyState == 2) {
			document.getElementById(tagRetorno).innerHTML = '<img src="./imagens/fake_loader.gif">';
		}
		if(xmlhttp.readyState == 3) {
			document.getElementById(tagRetorno).innerHTML = '<img src="./imagens/fake_loader.gif">';
		}
		if(xmlhttp.readyState == 4) {
			if(xmlhttp.status == 200){
					retorno=xmlhttp.responseText;
					if(retorno=="erro"){
						alert('Erro ao cadastrar o Registro');
						document.getElementById(tagRetorno).innerHTML = "<FONT STYLE='COLOR:RED;'>Cadastro não realizado.</FONT>";
					}else{
						document.getElementById(tagRetorno).innerHTML = retorno;
						alert('Cadastro realizado com sucesso!');
						window.history.back();
						
					}
						
			}
			else{
				var nErro = xmlhttp.status;
				alert('Erro '+nErro + ': Falha ao processar o serviço.');
			}
		}
		}
		if(metodo == "GET") {
				xmlhttp.send(null);	
			} else {		
				xmlhttp.send(parametros);
		}
}

Essa função abaixo para transformar o FORM em parametros válidos a serem mandados para o asp

 

function mountParameters(objForm){

	var strReturn = "";

	if(objForm){

		var y = objForm.length-1;
		for(x = 0; x < objForm.length; x++){
			if(objForm[x].value && !objForm[x].disabled && objForm[x].style.display != "none" && objForm[x].type != "button" && objForm[x].type != "reset" && objForm[x].type != "submit"){
				if(strReturn){
					strReturn = strReturn + "&";
				}
				strReturn = strReturn + objForm[x].name + "=" + escape(objForm[x].value);
			}
		}

	}

	return strReturn;
}

PÁGINA ASP QUE RECEBE A SOLICITAÇÃO

<%
Response.Expires = 0
	Response.Expiresabsolute = Now() - 1
	Response.AddHeader "pragma","no-cache"
	Response.AddHeader "cache-control","private"
	Response.CacheControl = "no-cache"
	Response.Charset="ISO-8859-1"
	
	dim teste
	
	matricula = request("txtMatricula") 
	nome =	 request("txtNome")
	if matricula=""  then	
		response.write "não funfou"
	else
		response.write matricula&"  -  "& "nome"
	end if
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

realmente seria mais bem aproveitado se respondesse topicos mais recentes

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.