Estoy realizando un pequeño proyecto, y decidi empezar a utilizar Ajax para el gurdado y todos los procesos con la base de datos, para evitar la recarga de la pagina, todo correcto en el guardado y elminado el problema es el siguiente, tengo una pagina que es el menu y dos div, dentro de los cuales dependiendo de la opcion seleccionada se actualiza con la pagina solicitada, en el primer DIV tengo los formularios y en el segundo tengo los datos traidos de la base de datos
Tengo esta funcion en javascript:
Código Javascript :
function eliminar(idbene){ jConfirm("¿Segura que desea eliminar al Beneficiario?", "Eliminar Beneficiario", function(r) { if(r) { $.ajax({ url: "php/eliminar_beneficiario.php", cache: false, type: "POST", data: {idbene: idbene}, success: function(opciones){ $("#error").html(opciones); window.parent.cargarformulario('beneficiario'); } }) } }); }
Como pueden observar esta función que utiliza ajax lo que hace es esperar el parametro que es el codigo y luego procede a eliminar el registro y actualiza el div para que el cambio se vea al momento.
Este es mi archivo php, el cual tiene la tabla con los datos de Mysql, en la imagen de eliminar es donde llamo a la funcion.
Código PHP :
<?php include("conexion.php"); $sql = "SELECT * FROM beneficiario ORDER BY id_beneficiario DESC"; $result = mysql_query($sql, $conexion); echo "<table class='table table-striped'>\n"; echo "<tr> <td></td> <td></td> <td>Nombres</td> <td>Pseudonimo</td> <td>Fecha Nacimiento</td> <td>Domicilio</td> <td>Telefono</td> <td>Estado Civil</td> <td>Grado Instruccion</td></tr> \n"; while($row = mysql_fetch_row($result)){ echo "<tr>"; echo "<td id = 'borrar'><a href = '#' onclick = window.parent.eliminar('".$row[0]."')><IMG SRC='img/borrar.png' WIDTH=16 HEIGHT=16 BORDER=0 ALT='Eliminar' ALIGN='center'></a> </td>"; echo "<td><img src='img/modificar.png' WIDTH=16 HEIGHT=16 BORDER=0 ALT='Eliminar' ALIGN='center' /></td> <td>$row[1]</td> <td>$row[2]</td> <td>$row[3]</td> <td>$row[7]</td> <td>$row[8]</td> <td>$row[13]</td> <td>$row[14]</td></tr> \n"; } echo "</table>"; ?>
Bueno ahora les explico el problema, tanto la funcion como la pagina funcionan correctamente si ningun problema se eliminan los archivos y se actualiza la pagina, el problema viene que, quise que cuando se elimine el beneficiario en el cuadro de dialogo de confirmación, me aparesca... ESTA SEGURO QUE DESEA ELIMINAR AL BENEFICIARIO: NOMBRE DEL BENEFICIARIO,
Asumi que solo tenia que aumentar los parametros en la función y en el envio, pero no funciono,
function eliminar(idbene, nombres)...
Hice eso pero no funciono en php hice:
onclick = window.parent.eliminar('".$row[0]."', '".$row[1]."')
Pero no funciona, pense que era por que el segundo valor era texto y lo estaba enviando mal asi que intente todas las combinaciones posibles, con commilla simple, sin comilla, asignandole el valor a una variable e intentando enviar la variable, pero nada, el detalle es que cuando solo envio un valor, y coloco en js dos alert uno para cada variable, me imprime el primer valor y el segundo me dice que es indefinido, esto quiere decir que la funcion funciona correctamente.
Disculpen si fue demasiado largo pero bueno espero puedan ayudarme y gracias de antemano.