activar.php: en este archivo esta la funcion que activa la noticia.
Código:
xajax.php: este es el q levanta el template, asiganado a casa chek en el nombre osea en name="", asigno el id que saco de la db, y desp si la noticia ya esta activada pone el check activado.<?php // LO USO PARA DEFINAR LAS FUNCIONES QUE VOY A USAR CON AJAX require("xajax_core/xajax.inc.php"); $xajax = new xajax(); /* Esta funcion activa o desactiva los productos */ function activar($id, $chec) { // creo una istancia de una respuesta $resp = new xajaxResponse(); // selecciono el prodcucto a activar if ($chec == "true") { $resp->assign($id, "innerHTML", "Activado"); } else{ $resp->assign($id, "innerHTML", "Desactivado"); } return $resp; } /***** fin activar *****/ $xajax->registerFunction("activar"); $xajax->processRequest(); ?>
Código:
<?php include_once('./includes/conexion.php'); include_once('./includes/template.php'); include_once('./includes/xajax/activar.php'); //selecciono los elementos del listado $prod = $conexion->Execute('SELECT * FROM productos'); $js = $xajax->getJavascript('./includes/xajax/'); //relleno el template set_file('ajax1', 'ajax.html'); set_var('printjava', $js); if ($prod->EOF) set_var('bloque', 'NO HAY PRODUCTOS A LISTAR'); while(!$prod->EOF){ set_var('nom', $prod->fields['id']); set_var('nombre', $prod->fields['nombre']); if($prod->fields['activo'] == 1) set_var('check', ' checked="checked" '); else set_var('check', ''); $prod->MoveNext(); parse('bloque', 'bloque', true); } parse('general'); pparse('ajax1'); ?>
xajax.html: este es el template html en el cual se insertan los contenidos de la db, capas el error esta en llamar a la funcion js, pero no se la idea es pasar en el primer parametro el atributo name="" q seria el id de la noticia y el segundo parametro es si esta activado o desactivado el check. El id del div en el cual se va a mostrar el msj es el mismo nombre del del chek q corresponde al id de la db, esto lo hago por q si pongo el mismo nombre a todos los div capas el msj de respuesta me cambia todo los div y no solo los del chec q active.
Código:
codijo js: este es el codigo q imprime el metodo $xajax->getJavascript('./includes/xajax/');<!-- BEGIN general --> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> {printjava} </head> <body> <table width="400" border="0" align="center"> <tr> <td> </td> <td><div align="center">Prueba de AJAX</div></td> <td> </td> </tr> <tr> <td> </td> <td><form id="form1" name="form1" method="post" action=""> <table width="100%" border="0"> <!-- BEGIN bloque --> <tr> <td>{nombre}</td> <td><div align="center"> <label> <input name="{nom}" type="checkbox" value="1" {check} onchange="xajax_activar(document.form1.{nom}.name, document.form1.{nom}.checked);" /> </label> <div id="{nom}"></div> </div></td> </tr> <!-- END bloque --> </table> </form> </td> <td> </td> </tr> </table> </body> </html> <!-- END general -->
Código:
<script type="text/javascript" charset="UTF-8"> /* <![CDATA[ */ try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; }; xajax.config.requestURI = "http://localhost/ajax/ajax.php"; xajax.config.statusMessages = false; xajax.config.waitCursor = true; xajax.config.version = "xajax 0.5 Beta 4"; xajax.config.legacy = false; xajax.config.defaultMode = "asynchronous"; xajax.config.defaultMethod = "POST"; /* ]]> */ </script> <script type="text/javascript" src="./includes/xajax/xajax_js/xajax_core.js" charset="UTF-8"></script> <script type="text/javascript" charset="UTF-8"> /* <![CDATA[ */ window.setTimeout( function() { var scriptExists = false; try { if (xajax.isLoaded) scriptExists = true; } catch (e) {} if (!scriptExists) { alert("Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?nURL: ./includes/xajax/xajax_js/xajax_core.js"); } }, 2000); /* ]]> */ </script> <script type='text/javascript' charset='UTF-8'> /* <![CDATA[ */ xajax_activar = function() { return xajax.request( { xjxfun: 'activar' }, { parameters: arguments } ); }; /* ]]> */ </script>
Codigo final: asi se vel el html final.
Código:
si a alguien se le ocurre una idea para ayudarme se lo agradeceria, saludos. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Documento sin título</title> <script type="text/javascript" charset="UTF-8"> /* <![CDATA[ */ try { if (undefined == xajax.config) xajax.config = {}; } catch (e) { xajax = {}; xajax.config = {}; }; xajax.config.requestURI = "http://localhost/ajax/ajax.php"; xajax.config.statusMessages = false; xajax.config.waitCursor = true; xajax.config.version = "xajax 0.5 Beta 4"; xajax.config.legacy = false; xajax.config.defaultMode = "asynchronous"; xajax.config.defaultMethod = "POST"; /* ]]> */ </script> <script type="text/javascript" src="./includes/xajax/xajax_js/xajax_core.js" charset="UTF-8"></script> <script type="text/javascript" charset="UTF-8"> /* <![CDATA[ */ window.setTimeout( function() { var scriptExists = false; try { if (xajax.isLoaded) scriptExists = true; } catch (e) {} if (!scriptExists) { alert("Error: the xajax Javascript component could not be included. Perhaps the URL is incorrect?nURL: ./includes/xajax/xajax_js/xajax_core.js"); } }, 2000); /* ]]> */ </script> <script type='text/javascript' charset='UTF-8'> /* <![CDATA[ */ xajax_activar = function() { return xajax.request( { xjxfun: 'activar' }, { parameters: arguments } ); }; /* ]]> */ </script> </head> <body> <table width="400" border="0" align="center"> <tr> <td> </td> <td><div align="center">Prueba de AJAX</div></td> <td> </td> </tr> <tr> <td> </td> <td><form id="form1" name="form1" method="post" action=""> <table width="100%" border="0"> <tr> <td>Casa</td> <td><div align="center"> <label> <input name="1" type="checkbox" value="1" onchange="xajax_activar(document.form1.1.name, document.form1.1.checked);" /> </label> <div id="1"></div> </div></td> </tr> <tr> <td>Dpto</td> <td><div align="center"> <label> <input name="2" type="checkbox" value="1" checked="checked" onchange="xajax_activar(document.form1.2.name, document.form1.2.checked);" /> </label> <div id="2"></div> </div></td> </tr> <tr> <td>Terreno</td> <td><div align="center"> <label> <input name="3" type="checkbox" value="1" onchange="xajax_activar(document.form1.3.name, document.form1.3.checked);" /> </label> <div id="3"></div> </div></td> </tr> </table> </form> </td> <td> </td> </tr> </table> </body> </html>