Foros del Web » Programando para Internet » Jquery »

JQuery / PHP / Malsup

Estas en el tema de JQuery / PHP / Malsup en el foro de Jquery en Foros del Web. Hola a tod@s.... Estoy realizando mantemiento a una aplicación, la idea es borrar un registro de la base de datos, el registro se muestra en ...
  #1 (permalink)  
Antiguo 21/12/2009, 12:17
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
JQuery / PHP / Malsup

Hola a tod@s....

Estoy realizando mantemiento a una aplicación, la idea es borrar un registro de la base de datos, el registro se muestra en una lista de resultados o de registros.. donde al lado cada uno tiene un icono de eliminar, modificar o adicionar....

Ahora el lio lo tengo cuando elimina... el viene hace todo.. llega la función de jquery donde en la url voy a un php, paso un dos id... hasta ahi va todo bien, al llegar al archivo delete_contact.php borra el registro... y acá viene el problema!.. no tengo idea como me devuelvo, o que debo traer para que llegue al success donde supuestamente borrará el registro al que le di clic sobre su imagen de borrar... lo borrará pues de la lista, porque en base de datos queda ya eliminado.

Que se supone que deberia devolver?

Sé que andamos usando malsup como extensión de jquery.

Código HTML:
    var ajaxFormOptions = {
        // target : "#contact_list",
        url : "delete_contact.php?id=" + contact.id + "&memberCompanyId=" + contact.memberCompanyId,

        success : function (){
            $( "#" + contact.selectedRow ).remove();
        }
    };
Graicas!
  #2 (permalink)  
Antiguo 21/12/2009, 12:55
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: JQuery / PHP / Malsup

Chequea si el ajaxForm que usas es este:
http://www.malsup.com/jquery/form/#getting-started

Si es, tenes varias opciones de respuesta. La mas simple es responder con texto:
Cita:
echo "0"; // para exito

else {echo "1";} // para fracaso
La otra es devolver algo con json, siendo que ese plugin lo soporta. En definitiva, para algo simple, da igual que metodo uses. La clave esta en que con jquery chequees que la respuesta es "0" o es "1".
Cita:
success : function (respuesta){

if(respuesta == "0") {
alert("ok");
}
else{
alert("no se pudo borrar registro");
}

$( "#" + contact.selectedRow ).remove();
}
  #3 (permalink)  
Antiguo 21/12/2009, 12:59
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Respuesta: JQuery / PHP / Malsup

¿pero y como lo devuelvo? ( hace años no programo )

Es decir llegué al php.. borre el registro...

Código PHP:

$database 
= new DataBase();

$manage_contact = new ManageContact($database);

$manage_contact->eraseLogic( array(
        
"id" => $_GET["id"],
        
"memberCompanyId" => $_REQUEST["memberCompanyId"]
    )
);

$database->disconnect();

exit; 
Simplemente imprimo algo?... eso hará que logre llegar a $( "#" + contact.selectedRow ).remove(); y se remueva mi fila?

Gracias mayid
  #4 (permalink)  
Antiguo 21/12/2009, 13:56
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: JQuery / PHP / Malsup

Si. Imprimiendo en PHP una palabra simple vas a poder recuperarla con jquery.

Fijate que todo lo de PHP es en abstracto, y que la unica salida es la que das por "echo".

Con jquery basicamente recuperas tooodo el html que haya en tu php. QUe va a ser nulo, salvo por la palabra "ok" o "error". Y desde ahi solo basta con comprobar de lado cliente que todo vaya bien o mal. Leete de nuevo mi explicacion previa. Todo va a salir bien, vas a ver.
  #5 (permalink)  
Antiguo 21/12/2009, 14:06
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Exclamación Respuesta: JQuery / PHP / Malsup

Bien.. efectivamente me devuelve lo que digo que imprima... pero no necesito el mensaje de alerta... es decir, lo que no sé es quitar ese registro de ahi, de la lista... inmediato, sin tener que dar la vuelta otra vez y seleccionarlo para que se actualice mi lista... como deberia hacer de nuevo que se pinta la lista de registro?... normal como una consulta?....

Así como pinté el script en el primer post.. se trabaja en otros lados de la aplicación y funciona... no sé que es lo que en teoria le deberia devolver.
  #6 (permalink)  
Antiguo 21/12/2009, 16:13
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: JQuery / PHP / Malsup

La respuesta de PHP no pasa de ser un si o un no. Desde javascript manejas eso como quieras.

Si necesitas esconder un elemento, lo podes hacer con el metodo .hide()

Crei que tenias resuelto tu problema porque el lo primero que publicastes estaba esto:

Cita:
$( "#" + contact.selectedRow ).remove();
No se que es lo que haces con esa linea, pero en fin, yo no conozco tu html.

Seria bueno que publiques la direccion de la pagina asi uno puede visualizar el problema.
  #7 (permalink)  
Antiguo 21/12/2009, 16:24
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
De acuerdo Respuesta: JQuery / PHP / Malsup

El problema no lo tengo resuelto, además el tema es más de mi desconocimiento, porque asi en otra parte de la aplicación funciona.

No tengo como pasarte una url pues no es un sitio web, es una aplicación, como comentaba estoy haciendo mantenimiento a esta aplicación y no tiene documentación como para basarme.. digamos que me toca "cazar" el código.

Gracias por tu colaboración ;)
  #8 (permalink)  
Antiguo 22/12/2009, 09:56
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Respuesta: JQuery / PHP / Malsup



Bueno, el problema era "de indio, no de flecha"

Resulta que siempre estuvo bien... lo que no tenia era el id en tr ( increible ) entonces claro cuando se ejecutaba ésta línea

Código HTML:
 $( "#" + contact.selectedRow ).remove();
El no sabia que debia borrar... así que simple.. puse el id en el tr.. y está hecho.. borrado el registro del DOM....
  #9 (permalink)  
Antiguo 22/12/2009, 12:59
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: JQuery / PHP / Malsup

Increible. Ni lo vi. Pero claro, la variable puede representar cualquier cosa.

Buenisimo que este resuelto.



Cita:
$manage_contact->eraseLogic( array(
"id" => $_GET["id"],
"memberCompanyId" => $_REQUEST["memberCompanyId"]
)
);
Yo vi todo a sobrevuelo, pero ahora que lo pienso, la respuesta PHP tenia que llenar ese lugar. Y seguramente todo estaba funcionando con objetos PHP como para hacer que se imprima sin necesidad de sumar un "echo".
  #10 (permalink)  
Antiguo 22/12/2009, 13:14
Avatar de Salome  
Fecha de Ingreso: noviembre-2002
Ubicación: Colombia
Mensajes: 1.032
Antigüedad: 22 años
Puntos: 1
Respuesta: JQuery / PHP / Malsup

Exacto, simplemente tenia saber cual era el objeto que se iba a borrar, llevaba bien el id y todo, sólo que no tenia el id en el tr

Gracias de nuevo ;)
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 00:40.