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

no funciona :S

Estas en el tema de no funciona :S en el foro de Frameworks JS en Foros del Web. hola tengo un formulario per no consigo que llame a la funcion este es el formulario Código HTML: <form id= "reg1" name= "reg1" method= "post" ...
  #1 (permalink)  
Antiguo 17/03/2009, 12:26
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
no funciona :S

hola tengo un formulario per no consigo que llame a la funcion
este es el formulario
Código HTML:
<form id="reg1" name="reg1" method="post" action="">
  <p>Introduce tu direcion de correo: 
    <input name="correo" type="text" class="imputbox" id="correo" />
</p>
  <p>Vuelvela a introdurla por seguridad: 
    <input name="correo1" type="text" class="imputbox" id="correo1" />
</p>
  <p>Escoje una contrase&ntilde;a:
    <input name="pass" type="text" class="imputbox" id="pass" />
</p>
  <p>Re-escribe tu contrase&ntilde;a:
    <input name="pass1" type="text" class="imputbox" id="pass1" />
</p>
  <p>Introduce los sigientes digitos de control</p>
  <p><img src="captcha.php" width="100" height="30"> 
    <input id="tmptxt"name="tmptxt" type="text" class="imputbox"/>  
    </p>
  <p>
	<button type="button" id="reg" class="eereimputbox" onclick="reg()">Ingresar</button>
  </p>
</form> 
este es al archivo que contiene la funcion reg()
Código HTML:
function reg()
{
	// Obtendo la capa donde se muestran las respuestas del servidor
	var capa=document.getElementById("resp");
	//obteniendo los datos
	var email=document.getElementById("correo").value;
	var email1=document.getElementById("correo1").value;
	var pass=document.getElementById("pass").value;
	var pass1=document.getElementById("pass1").value;
	var tmptxt=document.getElementById("tmptxt").value;
	// Creo el objeto AJAX
	var ajax=nuevoAjax();
	// Coloco el mensaje "Cargando..." en la capa
	capa.innerHTML="Cargando...";
	// Abro la conexión, envío cabeceras correspondientes al uso de POST y envío los datos con el método send del objeto AJAX
	ajax.open("POST", "RegistroComprovacion.php", true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send("correo="+email+"&correo1="+email1+"&pass="+pass+"&pass1="+pass1"tmptxt="+tmptxt);
	
	ajax.onreadystatechange=function()
	{
		if (ajax.readyState==4)
		{
			// Respuesta recibida. Coloco el texto plano en la capa correspondiente
			capa.innerHTML=ajax.responseText;
		}
	}
}
al archivo lo llamo con
<script type="text/javascript" src="ajax.js"></script>
y la pagina de comprovacion funciona correctamente
Alguna solucion??
  #2 (permalink)  
Antiguo 17/03/2009, 12:32
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no funciona :S

¿Has revisado la Consola de Errores de tu navegador para ver si se está produciendo algún error?

Además, debes cancelar la acción del evento usando return false.

Y otra cosa, es mejor usar el evento onsubmit del formulario que el evento onclick del botón.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 17/03/2009, 12:41
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: no funciona :S

donde pongo el return false?
en la consola no me da ningun error voia probar poniendolo en el onsubmit
  #4 (permalink)  
Antiguo 17/03/2009, 12:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: no funciona :S

En el evento onsubmit del formulario coloca así:
Código html:
Ver original
  1. onsubmit="reg(); return false"
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 17/03/2009, 12:50
Avatar de djsos  
Fecha de Ingreso: septiembre-2007
Ubicación: Madrid-España
Mensajes: 374
Antigüedad: 16 años, 7 meses
Puntos: 14
Respuesta: no funciona :S

lo he puesto con lo que me has dicho y lo unico que hace es actualizarme la pagina
el codigo del archivo que lo comprueva es este
Código PHP:
session_start();
if (!isset(
$_POST['tmptxt'])) {
if (
$_SESSION['tmptxt'] == $_POST['tmptxt']) {
echo 
"Bienvenido";
} else {
echo 
"Inténtalo nuevamente";
}
echo
"Introduce el codigo de confirmacion";
exit;
}
$acc $_SERVER['PHP_SELF'];
include(
"../lib/ipreg.php");
$mail $_POST['correo'];
$mail1 $_POST['correo1'];
$pass $_POST['pass'];
$pass1 $_POST['pass1'];
if(isset(
$mail)){
    echo
"Escribe una direccion de email valida, porfavor";
    exit;
}
if(isset(
$pass)){
    echo
"Debes de proteger tu cuenta con una contraseña";
    exit;
}
if(
$mail != $mail1){
    echo
"Revisa que los correos electronicos sean identicos";
    exit;
}
if(
$pass != $pass1){
    echo
"Las contraseñas no han coincidido vuevelas a escribir";
    exit;
}
include(
"../lib/conect.php");
mysql_query("INSERT INTO usu (`correo`,`pass`,`f_alta`,`act`) VALUES ('$correo','$pass','$date','NO')");
echo <<< HTML
<span class="texto1" align="center">
<p>Hola $nombre.</p>
<p>Bienbenido a Discotecas y Bares, pica qui y descubre todo lo que te podemos ofrecer.</p>
<p>Revisa tu correo electronico ya que hemos enviado un correo para comprovar activar completamente tu cuenta.</p>
</span>
HTML; 
puede estar aqui el error aunqeu por separado me funciona bien
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 10:51.