Ir para conteúdo

POWERED BY:

Arquivado

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

Good

Código não funciona no Chrome!

Recommended Posts

Eu estou fazendo um sistema de cadastro que valida os campos utilizando ajax..

 

só que o código não funciona no Chrome.. ele não valida alguns campos, as vezes só faz aparecer a mensagem "verificando..." e não faz mais nada..

 

tem como alguém dar uma revisada nesse código?

 

 

//	Variável que receberá o objeto XMLHttpRequest
var req;

function validarDados(campo, valor) {

	// Verificar o Browser
	// Firefox, Google Chrorme, Safari e outros
	if(window.XMLHttpRequest) {
		req	= new XMLHttpRequest();
	}
	// Internet Explorer
	else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}

	// Aqui vão os valores, caso haja mais de um, e o nome do campo que pediu a requisição.
	var url = "ajax/validacao_cadastro.php?campo="+campo+"&valor="+valor;

	// Chamada do método open para processar a requisição
	req.open("Get", url, true);
    // Quando o objeto recebe o retorno, chamamos a função callback();
	req.onreadystatechange = function() {

		// Exibindo mensagem de carregar
		if(req.readyState == 1) {
			document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
		}

		// Verifica se o Ajax realizou todas as operações corretamente (essencial)
		if(req.readyState == 4 && req.status == 200) {
	        // Resposta retornada pelo executor.php
			var resposta = req.responseText;

			// Abaixo colocamos a resposta na div do campo que fez a requisição
			document.getElementById('campo_'+ campo +'').innerHTML = resposta;
		}

	}

	req.send(null);

}

function validarCaptcha(url_c, campo, valor) {

	if(window.XMLHttpRequest) {
		req	= new XMLHttpRequest();
	} else if(window.ActiveXObject) {
		req = new ActiveXObject("Microsoft.XMLHTTP");
	}

	var url = "ajax/validacao_cadastro.php?url="+url_c+"&campo="+campo+"&valor="+valor;

	req.open("Get", url, true);
	req.onreadystatechange = function() {

		if(req.readyState == 1) {
			document.getElementById('campo_' + campo + '').innerHTML = '<font color="gray">Verificando...</font>';
		}

		if(req.readyState == 4 && req.status == 200) {
			var resposta = req.responseText;
			document.getElementById('campo_'+ campo +'').innerHTML = resposta;
		}

	}

	req.send(null);

}

 

OBRIGADO!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fica complicado revisarmos o código, sem um exemplo completo para testarmos. Entende?

posta o HTML tb, o minimo necessário onde o problema ocorre, para rodarmos o script, e vermos o motivo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Form:

Usuário: <br /> <input type="text" name="usuario" id="usuario" onChange="validarDados('usuario', document.getElementById('usuario').value);" /><BR>
<div id="campo_usuario"> </div>
Senha: <br /> <input type="password" name="senha" id="senha" onChange="validarDados('senha', document.getElementById('senha').value);" /><BR>
<div id="campo_senha"> </div>
Confirme a Senha: <br /> <input type="password" name="senha2" id="senha2" onChange="validarDados('senha2', document.getElementById('senha2').value);" /><BR>
<div id="campo_senha2"> </div>
Email: <br /> <input type="text" id="email" name="email" onChange="validarDados('email', document.getElementById('email').value);" /><BR>
<div id="campo_email"> </div>

    <input type="text" name="txtCaptcha" id="txtCaptcha" value="" maxlength="6" size="10" onChange="validarDados('txtCaptcha', document.getElementById('txtCaptcha').value);"/>
	<img id="imgCaptcha" name="imgCaptcha" src="criar_imagem.php" /> <BR>
    <div id="campo_txtCaptcha"> </div>
    <br>
    <input id="termosecondicoes" type="checkbox" name="termosecondicoes" value="1" onClick="validarDados('termosecondicoes', document.getElementById('termosecondicoes').value);"> Ao se cadastrar, você concorda com os <a href="termosecondicoes.php" target="_blank"><b>Termos e Condições</b></a> do MixModels.
    <div id="campo_termosecondicoes"> </div>
    <br>
    <input id="btnCaptcha" type="button" value="Verificar" name="btnCaptcha" onClick="validarCaptcha('<?php echo $_SERVER['PHP_SELF'] ."?cadastro=2"; ?>','btnCaptcha', document.getElementById('btnCaptcha').value);" />
    <div id="campo_btnCaptcha"> </div>

 

 

$campo = $_GET['campo'];
$valor = $_GET['valor'];
    session_start();

$email = mysql_query("SELECT * FROM usuarios WHERE email = '".$valor."' LIMIT 1") or die(mysql_error());
$email = mysql_num_rows($email);

if ($campo == "email") {

  if($email >= 1){

        unset($_SESSION["email_cadastro"]);
		echo "<img src=\"img/sinais/icone_indisponivel.gif\"><font color='#FF0000'><b>Já existe um usuário com este email!</b></font>";

  } elseif($email == 0){

	if (!eregi("^[a-z0-9_\.\-]+@[a-z0-9_\.\-]*[a-z0-9_\-]+\.[a-z]{2,4}$", $valor)) {


        unset($_SESSION["email_cadastro"]);
		echo "<img src=\"img/sinais/icone_indisponivel.gif\"><font color='#FF0000'><b>Preencha com um email válido</b></font>";

	} else {

          $_SESSION["email_cadastro"] = $valor;

    }

  }

}



if ($campo == "btnCaptcha") {


    if(isset($_SESSION["usuario_cadastro"]) && isset($_SESSION["email_cadastro"]) && isset($_SESSION["senha_cadastro"]) && isset($_SESSION["senha2_cadastro"]) && isset($_SESSION["captcha_cadastro"])) {

		echo "
        <br>
        <div align=\"center\"><input type=\"submit\" value=\"Próximo\" onclick=\"cadastro_passos(2);\"/></div>
        ";

    } else {

		echo "
        <img src=\"img/sinais/icone_indisponivel.gif\"><font color='#FF0000'><b>Verifique todos os campos para continuar</b></font>
        ";

    }

}

 

Não foi preciso postar o completo do código acima, pq todos são da mesma maneira..

 

vlw

 

??

 

I need more help!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fui no arquivo js onde fica o script.. ae apareceu isso:

 

Resource interpreted as document but transferred with MIME type application/x-javascript.

esse é o erro daquele primeiro código que eu passei..

 

 

na página de cadastro não aparece nenhum erro.. só apareceu nessa página ae..

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu código está pelo menos correto? Sem nenhum erro...?

 

 

daqui a pouco coloco o resultado..

 

vlw

 

 

----------------------------------------------------------

 

Olha, não entendi nada.. mas tem algo relacionado com innerhtml.. mas acho que esse código tá correto.. é pq tbm, eu não sou bom em js.. fiz na noobaida..

 

 

flw

 

Já faz tempo que não tenho respostas nesse tópico..

 

ajuda ae.. eu queria que alguém verificasse o código pra ver se tem algum erro..

 

 

flw

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.