Hola, como estan?, tengo una consulta para hacerles, tengo un boton (submit) que envia un formulario, este a su vez envia la informacion a XAJAX para ejecutar mediante php una consulta de actualizacion (UPDATE) a mysql, concretamente es para activar o desactivar un registro, agregandole un 0 o un 1. Hasta aqui esta todo bien y funciona de mil maravillas. Lo que no puedo lograr hacer es que cuando el boton (que dice desactivar) se ejecute, automaticamente cambie por la palabra "activar" y que realice la funcion que tiene que hacer.
Aca esta el codigo XAJAX con PHP:
Código:
<?
//incluímos la clase ajax
require ('xajax/xajax_core/xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
function procesar_formulario2($form_entrada2){
if ($form_entrada2[active] == 1) {
include('conexion2.inc.php');
$link2 = Conectarse2();
$sql = "UPDATE r_propiedades SET activo='0' WHERE id='$form_entrada2[cod]'";
$sql2 = "UPDATE r_propiedades SET act='0' WHERE id='$form_entrada2[cod]'";
mysql_query($sql);
mysql_query($sql2);
$salida3 = "Desactivado";
}
if ($form_entrada2[active] == 0) {
include('conexion2.inc.php');
$link2 = Conectarse2();
$sql = "UPDATE r_propiedades SET activo='1' WHERE id='$form_entrada2[cod]'";
$sql2 = "UPDATE r_propiedades SET act='1' WHERE id='$form_entrada2[cod]'";
mysql_query($sql);
mysql_query($sql2);
$salida3 = "Activado";
}
//instanciamos el objeto para generar la respuesta con ajax
$respuesta3 = new xajaxResponse();
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
//$respuesta3->Assign("ok", "value", $salida3);
$respuesta3->Assign("mensaje","innerHTML",$salida3);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta3;
}
function procesar_formulario3($form_entrada2){
if ($form_entrada2[active] == 1) {
include('conexion2.inc.php');
$link2 = Conectarse2();
$sql = "UPDATE r_propiedades SET activo='0' WHERE id='$form_entrada2[cod]'";
$sql2 = "UPDATE r_propiedades SET act='0' WHERE id='$form_entrada2[cod]'";
mysql_query($sql);
mysql_query($sql2);
$salida4 = "Desactivado";
}
if ($form_entrada2[active] == 0) {
include('conexion2.inc.php');
$link2 = Conectarse2();
$sql = "UPDATE r_propiedades SET activo='1' WHERE id='$form_entrada2[cod]'";
$sql2 = "UPDATE r_propiedades SET act='1' WHERE id='$form_entrada2[cod]'";
mysql_query($sql);
mysql_query($sql2);
$salida4 = "Activado";
}
//instanciamos el objeto para generar la respuesta con ajax
$respuesta4 = new xajaxResponse();
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
//$respuesta3->Assign("ok", "value", $salida3);
$respuesta4->Assign("mensaje2","innerHTML",$salida4);
//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta4;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION, 'procesar_formulario3');
//registramos la función creada anteriormente al objeto xajax
$xajax->register(XAJAX_FUNCTION, 'procesar_formulario2');
//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequest();
?>
y aca esta el formulario:
Código:
<form id="formulario2">
<? echo $row_Recordset1['id']; ?>---> Este ID se obtiene de una consulta aparte
<input name="cod" type="hidden" value="<?php echo $row_Recordset1['id']; ?>" />
<?php if ($row_Recordset1['activo'] == 1){ ?>
<input name="desactivar" onclick="xajax_procesar_formulario2(xajax.getFormValues('formulario2'));" type="button" value="SI/NO" />
<? echo "<input name=\"active\" type=\"hidden\" value=1>";
} ?>
<?php if ($row_Recordset1['activo'] == 0){ ?>
<input name="activar" id="boton2" onclick="xajax_procesar_formulario3(xajax.getFormValues('formulario2'));" type="button" value="SI/NO"/>
<?
echo "<input name=\"active\" type=\"hidden\" value=0>";} ?>
<br>
</form>
Si alguien me puede dar una idea, seria genial, la idea seria complicarme un poco menos y hacer un simple boton de activar y desactivar que funcione con una base de datos y que no tenga que recargar la pagina para ver el resultado final...
Desde ya gracias