Ir al contenido


Foto

Alert si el registro existe en la base de datos al tabular.


  • Por favor identifícate para responder
49 respuestas en este tema

#41 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 08:56

Hola Poliburro buenos dias para vosotros y buenas tardes aquí en España.Muchas gracias siempre por contestarme lo antes que puedes y mira tengo unas dudas que estan fallando y no estan claras.
En la funcion que me pones no faltan llaves {}???? :cheesy:

[js]
if (existe.indexOf("Encontrado", 0) > 0)

    alert(telefono + " ya se encuentra registrado");

  else

    alert(telefono + " no ha sido registrado");
[/js]

Un saludo
  • 0

#42 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 24 octubre 2012 - 09:04


En la funcion que me pones no faltan llaves {}???? :cheesy:

[js]
if (existe.indexOf("Encontrado", 0) == 0)

    alert(telefono + " ya se encuentra registrado");

  else

    alert(telefono + " no ha sido registrado");
[/js]

Un saludo



Buen día amiogo, no, no faltan llaves y me eplicaré. En la mayoría de los lenguajes de programación se caracterés de inicio y cierre de bloque solo ´cuando las de código dentro del bloque son más de una. Esto es, para el caso de que el If dispare la ejecución de más de una línea de código tendrás que colocar los caracteres de inicio y cierre, pero cuando solo es una línea de código no es necesario. El sistema entiende que se ejecutará solo esa línea:

esto si requuere
[java]
If (algo) {
  una linea;
dos líneas
tres líneas;
}

[/java]


esto no lo requiere
[java]
If (algo)
  soloejecutaunalinea;
[/java]

  • 0

#43 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 09:12

Ok, y entonces porque no me sigue despues de aquí:

function GuardaFormulario() {
//usemos mejor las CoLECCIONES, y variables, así ahorramos codigo y lo hace fácil de mantener
var _telefono = document.forms['form1'].elements['telefono'];
if (_telefono.value.length == 0){
alert("Insertar el Teléfono");
_telefono.focus();
return 0;

}

////Hasta aquí bien pero luego ya no hace nada?///////


else {

var existe =  TelefonoExiste(telefono);
if (existe.indexOf("Encontrado", 0) > 0)
alert(telefono + " ya se encuentra registrado");
else
alert(telefono + " no ha sido registrado");
return 0;
}
}
  • 0

#44 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 24 octubre 2012 - 09:18

Ok, y entonces porque no me sigue despues de aquí:

function GuardaFormulario() {
//usemos mejor las CoLECCIONES, y variables, así ahorramos codigo y lo hace fácil de mantener
var _telefono = document.forms['form1'].elements['telefono'];
if (_telefono.value.length == 0){
alert("Insertar el Teléfono");
_telefono.focus();
return 0;

}

////Hasta aquí bien pero luego ya no hace nada?///////


else {

var existe =  TelefonoExiste(telefono);
if (existe.indexOf("Encontrado", 0) > 0)
alert(telefono + " ya se encuentra registrado");
else
alert(telefono + " no ha sido registrado");
return 0;
}
}



jajajaja me acabas de cambiar el código ese guarda formulario es diferente al que me enviaste.

un consejo, separa todo y ve entendiendo que hace tu script paso por paso... solo así encontrarás por qué falla. El código posteaste y probé en mi servidor funciona sin problema
  • 0

#45 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 09:35

Si, es que yo lanzo la funcion guardaformulario desde una imagen y entonces la tube que modificar.
Pero ya te digo que primero mira si hay telefono ingresado y despues no pasa.

////De aquí no pasa///////


else {

var existe =  TelefonoExiste(telefono);
if (existe.indexOf("Encontrado", 0) > 0)
alert(telefono + " ya se encuentra registrado");
else
alert(telefono + " no ha sido registrado");
return 0;
}
}
  • 0

#46 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 24 octubre 2012 - 09:44

Pues, el código está bien... los bloques de inicio y cierre, el else, todo está bien...
  • 0

#47 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 10:25

Pues a mi una vez que pasa la function GuardaFormulario() se queda muerto el codigo. :cry:
Si alguien mas puede probarlo.

[js]
function nuevoAjax() {

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) {

if (!xmlhttp && typeof XMLHttpRequest!='undefined')

xmlhttp=new XMLHttpRequest();

}

}

return xmlhttp;

}

function TelefonoExiste(telefono) {

var existe= "";

var ajax=nuevoAjax();

ajax.open("GET", "valida1.php?telefono="+telefono, true);

ajax.onreadystatechange=function() {

if (ajax.readyState==4)

existe=ajax.responseText;

}
ajax.send(null);

return existe;

}



function GuardaFormulario() {
//usemos mejor las CoLECCIONES, y variables, así ahorramos codigo y lo hace fácil de mantener
var _telefono = document.forms['form1'].elements['telefono'];
if (_telefono.value.length == 0){
alert("Insertar el Teléfono");
_telefono.focus();
return 0;

}
else {
var existe =  TelefonoExiste(telefono);
if (existe.indexOf("Encontrado", 0) > 0)
alert(telefono + " ya se encuentra registrado");
else
alert(telefono + " no ha sido registrado");
}
return false;
}

[/js]

Gracias.
  • 0

#48 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 11:15

Vale era error mio perdonadme porque ya he hecho tantos cambios....
El problema de que se paraba la funcion era porque tenia guiones bajos puestos en la variable telefono tal que así _telefono.
Entonces ya sigue y me da este alert [object HTMLInputElement] no ha sido registrado y estoy metiendo un telefono que existe en la base de datos.


Una pregunta el valor de Encontrado if (existe.indexOf("Encontrado", 0) > 0) tiene que ser igual al del cod valida1.php para que si el telefono existe en la base de datos salte la funcion alert(telefono + " ya se encuentra registrado");?


[js]if(mysql_num_rows($result))
  echo"Encontrado";  [/js]

  • 0

#49 madri09

madri09

    Advanced Member

  • Miembros
  • PipPipPip
  • 72 mensajes

Escrito 24 octubre 2012 - 03:22

SOLUCIONADO :tongue:

Muchas gracias, Poliburro por tu ayuda los codigos quedarían así:


valida1.php


<?php
  require_once('Connections/conexion.php');
  $telefono = isset($_GET['telefono']) ? $_GET['telefono']:"";
  $query=("SELECT telefono FROM usuarios WHERE telefono ='".$telefono."'");
  $result = mysql_query($query);
  $rows = mysql_num_rows($result);
  if ($rows) {
  echo '1';
  }
?>



js

[js]
function nuevoAjax() {

    var xmlhttp=false;

    try {

        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");

    }

        catch(e){

        try{

            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

        }catch(E) {

            if (!xmlhttp && typeof XMLHttpRequest!='undefined')

                xmlhttp=new XMLHttpRequest();

        }

    }

    return xmlhttp;

}

 

function TelefonoExiste(telefono, _callback) {

    var ajax=nuevoAjax();

    ajax.open("GET", "valida1.php?telefono=" + encodeURIComponent(telefono), true);

    ajax.onreadystatechange=function() {

        if ((ajax.readyState==4) && (ajax.status==200)){

            //ejecutamos _callback como si fuese una función, pasandole el parámetro

            _callback(ajax.responseText);

        }

    }

    ajax.send(null);

}

 

function GuardaFormulario() {

    //usemos mejor las CoLECCIONES, y variables, así ahorramos codigo y lo hace fácil de mantener

    var _telefono = document.forms['form1'].elements['telefono'];

 

    if (_telefono.value.length == 0){

        alert("Insertar el Teléfono");

        _telefono.focus();

        return 0;

    }

   

    //lamamos a AJAX:

    TelefonoExiste(_telefono.value, function(resp) {

        //evaluamos la respuesta del server, tengase en cuenta que responseText devuelve un string, por lo tanto hay que parsear a entero si se evalúa un numero:

        if (parseInt(resp) == 1) {

            //aqui seria bueno un mensaje

            alert('el teléfono ya existe');

            _telefono.focus();

        } else {

            //evaluar si se envía el form desde aquí, o se usa ajax para enviarlo.

            alert("El formulario se envio con exito!");

            document.forms['form1'].submit();

        }

    });

    //como ajax es asincrono, JS NO se detendrá en la llamada anterior, por lo tando hay que retornar false o 0 como lo tienes:

    return 0;

}


[/js]

Saludos.
  • 0

#50 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 24 octubre 2012 - 06:40

SOLUCIONADO :tongue:

Muchas gracias, Poliburro por tu ayuda los codigos quedarían así:


:) me alegra saber que por fín lograste hacerlo funcionar... saludos
  • 0




IP.Board spam blocked by CleanTalk.