Ir para conteúdo

POWERED BY:

Arquivado

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

Matheeuziin

[Resolvido] Como passar do Ajax para o jQuery

Recommended Posts

Olá estou criando um site e não so muito bom com javascript, mas eu tenho um script em AJAX que abre as páginas em DIV e outro que pega os elementos do formulario e envia por esse mesmo script de abrir Paginas!

 

[AJAX.JS]

function BuscaElementosForm(idForm)
{  
var elementosFormulario = document.getElementById(idForm).elements;  
var qtdElementos = elementosFormulario.length;  
var queryString = "";  
var elemento;  
	this.ConcatenaElemento = function(nome,valor)
	{   
		if (queryString.length > 0)
		{   
			queryString += "&"; 
		}  
		queryString += encodeURIComponent(nome) + "=" + encodeURIComponent(valor);  
	};  

	for (var i = 0; i < qtdElementos; i++)
	{   
		elemento = elementosFormulario[i];  
		if (!elemento.disabled)
		{   
			switch(elemento.type)
			{   
				case 'text': case 'password': case 'hidden': case 'textarea':   
					this.ConcatenaElemento(elemento.name,elemento.value);  
					break;  
				case 'select-one':  
					if (elemento.selectedIndex >= 0)
					{  
						this.ConcatenaElemento(elemento.name,elemento.options[elemento.selectedIndex].value);  
					}  
					break;  
				case 'select-multiple':  
					for (var j = 0; j < elemento.options.length; j++)
					{  
						if (elemento.options[j].selected)
						{  
							this.ConcatenaElemento(elemento.name,elemento.options[j].value);  
						}  
					}  
					break;  
				case 'checkbox': case 'radio':  
					if (elemento.checked)
					{  
						this.ConcatenaElemento(elemento.name,elemento.value);  
					}  
					break;  
			}  
		}  
	}
    return queryString;  
}

function ExtractScript(texto)
{
var ini = 0;
while(ini != -1)
{
	ini = texto.indexOf("<script", ini);
	if(ini >= 0)
	{
		ini = texto.indexOf(">", ini) + 1;
		var fim = texto.indexOf("</script>", ini);
		codigo = texto.substring(ini, fim);
		eval(codigo);
	}
}
}

function Load(url, div, tipo, campos)
{
var ajax = null;

if(window.ActiveXObject)
{
	ajax = new ActiveXObject('Microsoft.XMLHTTP');
}
else if(window.XMLHttpRequest)
{
	ajax = new XMLHttpRequest();
}

if(ajax != null)
{
	var cache = new Date().getTime()
	ajax.open(tipo, 'paginas.php?pagina='+url+'&cache='+cache, true);
	ajax.onreadystatechange = function status()
	{
		if(ajax.readyState == 4)
		{
			if(ajax.status == 200)
			{
				document.getElementById(div).innerHTML = ajax.responseText;
				document.getElementById('carregando').style.display = "none";
				var texto = unescape(ajax.responseText.replace(/\+/g, " "))
				ExtractScript(texto);
			}
		}
		if(ajax.readyState < 4 )
		{
			document.getElementById('carregando').style.display = "block";
			document.getElementById(div).innerHTML = 'Carregando';
		}
	}


	if(tipo == "POST")
	{
		ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
		ajax.setRequestHeader("Cache-Control", "no-store, no-cache, must-revalidate");
		ajax.setRequestHeader("Cache-Control", "post-check=0, pre-check=0");
		ajax.setRequestHeader("Pragma", "no-cache");
		ajax.send(campos); 
	}
	else
	{
		ajax.send(null);
	}
}
}

 

[CÓDIGO HTML DO FORMULARIO]

<?php
if(isset($_GET["opcao"]) && $_GET["opcao"] == true)
{
	echo $_POST["nome"];
	exit();
}
?>
<form method="post" id="Cadastro" name="Cadastro">
Nome: <input type="text" name="nome" id="nome" /><br />
Sobreome: <input type="text" name="sobrenome" id="sobrenome" /><br />
<input type="button" onClick="Load('testao&opcao=true', 'result', 'POST', BuscaElementosForm('Cadastro'));" name="enviar" value="Cadastrar" /><br />
</form>
<div id="result"></div>

 

O código de abrir as páginas em jQuery eu ja conssegui, segue o mesmo abaixo:

 

[NOVO CÓDIGO ABRIR PAGINAS jQuery]

function mblLoad(pagina,DIV, metodo){
       $.ajax({
       method:metodo,
       url:"paginas.php?pagina="+pagina,
       beforeSend:function(){
           $("#carregando").html('Carregando').css('display', 'block');
       },
       success:function(dados){
		$("#carregando").css('display', 'none');
           $("#"+DIV).html(dados)
       }
       })
   }

 

 

Eu quero saber, oque e como fazer para funcionar o " BuscaElementosForm " do AJAX aqui no jQuery, obrigado!

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.