La funzione non viene richiamata all evento onChange

GoshMaledetto

Utente Attivo
20 Dic 2012
137
0
0
www.goshweb.com
ciao a tutti sto cercando di controllare se una mail è gia presente nel mio db con una funzione ma non me la richiama quando modifico la text box vi posto il codice dell funzione e dell html
in pratica non mi richiama la funzione

Codice:
 <!--CHECK MAIL-->
	<script type="text/javascript">
	
	function checkMail() {
		alert("1111");
		var ajax = new XMLHttpRequest();
		ajax.onreadystatechange = function() {
			if(ajax.readyState == 4 && ajax.status == 200) {
				if(ajax.responseText == "disponibile") {
					document.getElementById('ok').style.visibility = "visible";
					document.getElementById('no').style.visibility = "hidden";
				} 
				else {
					document.getElementById('ok').style.visibility = "hidden";
					document.getElementById('no').style.visibility = "visible";
				}
			}
			else {
				
			}
		}
		ajax.open("get","check_mail.php?mail="+document.getElementById('mail').value,true);
		ajax.send(null);
	}
	
	</script>

e l'html

HTML:
<div id="mail">E-mail: *</div>
<input type="text" name="mail" id="mail" value="<?php if(isset($_POST['mail'])) echo $_POST['mail']; ?>" onChange="checkMail()" />
            
<label id="ok" class="mail_ok">OK</label><label id="no" class="mail_no">NO</label>
 
ok allora adesso richiama la funzione ma ce un problema su un controllo

Codice:
alert(ajax.responseText);
				if(ajax.responseText == "1") {
					document.getElementById('no').style.visibility = "visible";
					document.getElementById('ok').style.visibility = "hidden";
				} 
				else {
					document.getElementById('no').style.visibility = "hidden";
					document.getElementById('ok').style.visibility = "visible";
				}

la pagina check_mail riceve i dati giusti e ritorna 1 o 0 a seconda se esite o meno la mail
la alert mi visualizza il risultato del file php e funziona ma il controllo del if non va mi ritorna sempre falso

ps questa è la pagina esterna

PHP:
<?php
		
	include "include/db.php"; 
	
	$query="SELECT * FROM utenti WHERE mail_utente = '" . $_GET['mail'] . "'"; 
	//echo $query;
	$risultato=mysql_query($query);  
	$row=mysql_fetch_array($risultato);
	if(isset($row['id_utente'])) { 
		echo "1"; 
	}
	else {
		echo "0";
	}
 
?>
 
ciao, non ho capito, è questa che ti restituisce sempre 0 ?
PHP:
$row=mysql_fetch_array($risultato);
    if(isset($row['id_utente'])) { 
        echo "1"; 
    }
    else {
        echo "0";
    }
fai un var_dump() di $row e vedi se c'è id_utente
PHP:
var_dump($row)
 
togli gli apici
Codice:
if(ajax.responseText == 1) {
 

Discussioni simili