Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Formulario

Estas en el tema de Formulario en el foro de Frameworks JS en Foros del Web. hola! me interesa saber hacer un formulario con validacion y que consulta a la db por ajax si existe el usuario o el email. alguien ...
  #1 (permalink)  
Antiguo 23/01/2007, 20:39
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 2 meses
Puntos: 1
Formulario

hola!

me interesa saber hacer un formulario con validacion y que consulta a la db por ajax si existe el usuario o el email.

alguien sabe alguno?
  #2 (permalink)  
Antiguo 24/01/2007, 17:32
 
Fecha de Ingreso: agosto-2005
Ubicación: Argentina, Capital Federal
Mensajes: 435
Antigüedad: 18 años, 8 meses
Puntos: 2
Re: Formulario

¿Y qué tal te llevas con AJAX? Aquí http://leimnud.info/index.php?&artic...=view&cat=AJAX tienes un tutorial. Si no tienes mucho manejo de JavaScript deberías empezar por allí; en el foro de JS tienes las FAQ donde puedes informarte al respecto.
Sobre lo que tu quieres hacer, aquí he colgado un ejemplo http://www.formatoweb.com.ar/ajax/co...d_de_apodo.php, posiblemente te resulte de utilidad.

Saludos.
__________________
R4DS en español | R4DS en inglés
  #3 (permalink)  
Antiguo 25/01/2007, 14:12
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 2 meses
Puntos: 1
Formulario

http://www.formatoweb.com.ar/ajax/co...d_de_apodo.php,

mire baje este ejemplo y estoy probando con el formulario que hize en php. he ingresado el primer valor que este es nickname pero aun no se como ingresar los otros valores del formulario.

Este es el PHP de proceso cuando manda los valores el ajax al servidor. pero solo recibe uno. ya he intensado poner aqui
Código PHP:
$consulta=mysql_query("SELECT id FROM member WHERE username='$username'"
los demas valores pero no funciono.

Cita:
<?php
function validaIngreso($valor)
{
// Funcion utilizada para validar el dato a ingresar recibido por POST
if(eregi("^[a-zA-Z0-9.@ ]{4,40}$", $valor)) return TRUE;
else return FALSE;
}

function conectar()
{
// Conexion a base de datos
mysql_connect("localhost", "root", "golden") or die(mysql_error());
mysql_select_db("tunerspot") or die(mysql_error());
}

function desconectar()
{
mysql_close();
}

function verificaExistencia($apodo)
{
/* Funcion encargada de verificar la existencia del apodo recibido en base de datos.
Devuelve TRUE si el apodo existe, FALSE de lo contrario */
$consulta=mysql_query("SELECT id FROM member WHERE username='$username'") or die(mysql_error());
$registro=mysql_fetch_row($consulta);

if(!empty($registro)) return TRUE;
else return FALSE;
}

if($_POST["ingreso"])
{
// Quito espacios en blanco al comienzo y fin de la cadena
$valor=trim($_POST["ingreso"]);
// Si el valor recibido es valido...
if(validaIngreso($valor))
{
conectar();
// Si el apodo ya existe en base de datos...
if(verificaExistencia($valor)) echo "Tu apodo ya existe en la base de datos";
else
{
// Ingreso el nuevo apodo
mysql_query("INSERT INTO member (username) VALUES ('$valor')") or die(mysql_error());
echo "Tu apodo ha sido ingresado";
}
desconectar();
}
}
eSTE Es el Formulario. solo manda un solo valor.
Cita:
<script language="javascript">
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(E) { xmlhttp=false; }
}
if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }

return xmlhttp;
}

function eliminaEspacios(cadena)
{
// Funcion para eliminar espacios delante y detras de cada cadena
while(cadena.charAt(cadena.length-1)==" ") cadena=cadena.substr(0, cadena.length-1);
while(cadena.charAt(0)==" ") cadena=cadena.substr(1, cadena.length-1);
return cadena;
}

function validaIngreso(valor)
{
/* Funcion encargada de validar lo ingresado por el usuario. Se devuelve TRUE en caso de ser
valido, FALSE en caso contrario */
var reg=/(^[a-zA-Z0-9.@ ]{4,40}$)/;
if(reg.test(valor)) return true;
else return false;
}

function nuevoEvento(evento)
{
var divMensaje=document.getElementById("mensaje");

/* Dependiendo de cual sea el evento que ejecuto esta funcion (ingreso o verificacion) se setean
distintas variables */
if(evento=="ingreso")
{
var input=document.getElementById("ingreso");
var boton=document.getElementById("boton_1");
var valor=input.value;
var accion="Ingresando...";
}
else
{
var input=document.getElementById("verificacion");
var boton=document.getElementById("boton_2");
var valor=input.value;
var accion="Comprobando...";
}
// Elimino espacios por delante y detras de lo ingresado por el usuario
valor=eliminaEspacios(valor);
// Si el ingreso es invalido...
if(!validaIngreso(valor))
{
divMensaje.innerHTML="El texto ingresado contiene caracteres o longitud inv&aacute;lida";
}
else
{
// Deshabilito inputs y botones para evitar dobles ingresos
boton.disabled=true; input.disabled=true;
input.value=accion;

var ajax=nuevoAjax();
ajax.open("POST", "test1.php", true);
ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
ajax.send(evento+"="+valor);

ajax.onreadystatechange=function()
{
if (ajax.readyState==4)
{
// Habilito nuevamente botones e inputs
input.value="";
boton.disabled=false; input.disabled=false;
// Muestro el mensaje enviado desde el servidor
divMensaje.innerHTML=ajax.responseText;
}
}
}
}
</script>

<style type="text/css">
.boton
{
height:16px;
width:58px;
font-size:8px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}

.inputs
{
width:130px;
height:12px;
font-size:10px;
font-family:Verdana, Arial, Helvetica, sans-serif;
}

.aviso
{
text-align:center;
font-size:11px;
font-family:Verdana, Arial, Helvetica, sans-serif;
background-color:#FFFFFF; color:#FF0000;
}

.punteado
{
border-style:dotted;
border-color:#000000;
background-color:#EAEAEA;
font-family:Verdana;
font-size:10px;
text-align:center;
}
</style>
</head>


<label for="username">Username</label>
<input id="ingreso" name="username"><span class="do">4-15 Chars</span><br>

<label for="password">Password</label>
<input id="password" name="password"><span class="do">4-15 Chars</span><br>

<label for="Password2">Retype Password</label>
<input id="password2" name="password2"><span class="do">4-15 Chars</span><br>
<label for="name">Full Name</label>
<input id="name" name="name"><br>
<label for="E-mail">E-Mail</label>
<input id="email" name="email" value="@"><br>
<label for="country">Country</label>

<select name="pais">
<option>Select...</option>
<option>---</option>
</select><br>
<label for="city">City</label>
<select name="ciudad">
<option>Select...</option>
<option>---</option>
</select><br>
<label for="bithyear">Bith Year</label>
<input id="bithday" name="bithday" value="YYYY/MM/DD"><span class="do">Ex:1987/12/02</span> <br>
<label for="gender">Gender</label>
<select name="genero">
<option>Select...</option>
<option>Male</option>
<option>Female</option>
</select><br>
<input id="boton_1" onclick="nuevoEvento('ingreso');" type="button" value="Ingresar" class="boton">
<div class="aviso" id="mensaje"></div>
</center>
</body>
</html>
haber si alguien tiene la solucion de como mandar mas valores.

Gracias!
  #4 (permalink)  
Antiguo 29/01/2007, 12:36
 
Fecha de Ingreso: marzo-2006
Mensajes: 401
Antigüedad: 18 años, 2 meses
Puntos: 1
Re: Formulario

Nadie???...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:14.