Retroceder   Foros del Web > Programación para sitios web > AJAX

Respuesta
 
Herramientas Desplegado
Antiguo 21-jul-2006, 03:17   #1 (permalink)
kaninox está en el buen camino
 
Avatar de kaninox
 
Fecha de Ingreso: septiembre-2005
Ubicación: Chile
Mensajes: 2.161
Enviar un mensaje por MSN a kaninox
Desacuerdo onblur de dato

Holas gente he rebuscado por todos lados y no he podido ayar una solucion a mi tema lo postee en php pero creo que el tema va mas orientado al ajax...

tengo un formulario con un campo de texto y quiero que al salir del si el usuario ingresado existe me arroje la respuesta con un alert

mi codigo es

Código:
Código:
<form name="myform" action="test.php" method="POST"> 
<input type="text" name="usuario" onblur="<?php 
include "../includes/conectar.php"; //conexion. 
$sql = mysql_query("SELECT * from usuarios" 
                         ." WHERE USER = '$_GET[usuario]'"); if(mysql_num_rows($sql)==1) 
{ 
echo "alert('El usuario ya existe.')"; 
} 
else 
{ 
echo ""; 
} 
?>">
<br><br> 
<input type="submit" name="algo" value="Enviar"> 
</form>

La idea es que al escribir un nombre en la caja de texto luego al salir de ella me salte un alert solo si el nombre ingresado existe en la base de datos....

en realidad no se como pasarle en la consulta el usuario a php
cuando hago la compracion..

Ideas
kaninox está desconectado   Responder Citando
Antiguo 21-jul-2006, 05:01   #2 (permalink)
sergi_climent está en el buen camino
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.303
Hola... yo hago una cosa parecida.
Lo q hago es poner una campo oculto con el valor 0. en el onblur lo q hago es llamar a otra pagina para q me devuelva el resultado de la consulta q le paso.
en mi form esto:
Código HTML:
<tr>
	<td class="lletranegreta">&nbsp;<strong>id</strong></td>
	<td align="left"><input align="left" size="40"type="text" name="idmanteniment" class="lletra" onblur="myajax.Link('control/tipusmanteniment/consultes.php?id=exist&id_manteniment=' + this.value,'tipusdemaquina')"></td>
	<td><div id="tipusdemaquina"><input type="hidden" name="existe" value="0"/></div></td>					
</tr>
en la consulta:
Código PHP:
<?
header
('Content-Type: text/xml');
    require (
"../../../aut_verifica.inc.php");
echo 
'<?xml version="1.0" encoding="ISO-8859-1"?>';
$id=$_GET[id];
switch (
$id) {
    case 
"exist":
        if (isset(
$_GET[id_manteniment])){
        
$id_manteniment=$_GET[id_manteniment];
        
$busqueda="SELECT id_manteniment FROM tipus_manteniment WHERE id_manteniment=".$id_manteniment;
        
$sql mysql_query($busqueda) or die(mysql_error());
        
$nreg=mysql_num_rows($sql);
        echo 
"<input type=\"hidden\" name=\"existe\" size=\"2\" value=\"$nreg\">";
        }else{
        echo 
"<input type=\"hidden\" name=\"existe\" size=\"2\" value=\"0\">";
        }
    break;
}
?>
para validar el form llamo a una funcion javascript.
Código HTML:
<input type="Button" class="boto" value="Grabar"  onclick="javascript:validanoutipusmanteniment(this.form)">
Código PHP:
function validanoutipusmanteniment(miform){
    var 
tipusmanteniment miform.tipusmanteniment.value;
    var 
existe miform.existe.value;
    if (
tipusmanteniment==''){
        
alert("Tienes que escribir el Tipo de Mantenimiento.");
        return 
false;
    }else if (
existe==1){
        
alert("EL numero del Tipo de Mantenimiento ya existe.");
        return 
false;
    }else {
        
myajax.Form('miform''main2');
    }    

y ya por ultimo cuando valido el formulario llamo a una funcion javascript para comprobar el resultado del campo existe... si es 1 kiere decir q la consulta me a retornado un valor, entonces quiere decir q existe y le pongo un alert. si el valor es 0 no existe el campo.

utilizo la classe isiAjax q hay un tema abierto por aqui. si empiezas con ajax te lo aconsejo porque es muy facil de usar.

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
sergi_climent está desconectado   Responder Citando
Antiguo 21-jul-2006, 05:12   #3 (permalink)
kaninox está en el buen camino
 
Avatar de kaninox
 
Fecha de Ingreso: septiembre-2005
Ubicación: Chile
Mensajes: 2.161
Enviar un mensaje por MSN a kaninox
Chales ta mu weno, gracias

pero es nesesario saber el id ?

?id=exist&id_manteniment=' + this.value,'tipusdemaquina

no entendi my bien esa parte .....

me podrias plis dar un ejemplo mas tirado a mi dato de usuario solamente como para guiarme...

de todas firmas se agradece :) era lo que andaba uscando
kaninox está desconectado   Responder Citando
Antiguo 21-jul-2006, 05:18   #4 (permalink)
sergi_climent está en el buen camino
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.303
a ver te comento...
en mi pagina de consultas tengo mas consultas a realizar para saber si existe ese dato... entonces tengo q diferenciarlos con un switch, q en este caso seria la id. en tu caso no creo q te haga falta.
lo q si q te hara falta es pasarle el valor q haya en ese campo cuando se ejecute el evento onblur, es decir,
tupaginaconsultas.php?nombreusuario=' + this.value
le pasas ese valor para saber si existe.
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier
sergi_climent está desconectado   Responder Citando
Antiguo 21-jul-2006, 06:20   #5 (permalink)
kaninox está en el buen camino
 
Avatar de kaninox
 
Fecha de Ingreso: septiembre-2005
Ubicación: Chile
Mensajes: 2.161
Enviar un mensaje por MSN a kaninox
lo resolvi de una forma mas simple muchas gracias por el dato del isiajax :)

aqui ellink a la respuesta ya que me da flojera poner el codigo deneuo :)

activar alert al hacer onblur, con dato de la database
kaninox está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 13:35.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93