Ver Mensaje Individual
  #6 (permalink)  
Antiguo 23/09/2008, 14:18
carjav
 
Fecha de Ingreso: octubre-2004
Ubicación: San Rafael - Mendoza
Mensajes: 13
Antigüedad: 19 años, 6 meses
Puntos: 0
Respuesta: cargar datos en un div con xajax

Les cuento como va la cosa y agradezco la ayuda, ya consegui a traves de xajax que me agregue las filas, hasta ahi todo perfecto, el unico inconveniente que tengo (ya se que el desconociemiento es el inconveniente principal) es que no puedo trasladar un contador que me cambie los valores del div.

Acá va el codigo como lo llevo hasta ahora. El código en xajax 0.2.5 es el siguiente:

Cita:
<?php
$num = "";
//incluímos la clase ajax
require ('xajax/xajax.inc.php');
//instanciamos el objeto de la clase xajax
$xajax = new xajax();
$xajax->setCharEncoding('ISO-8859-1');
$xajax->decodeUTF8InputOn();
function proceso_envio($num){
//creo el xajaxResponse para generar una salida
$respuesta = new xajaxResponse('ISO-8859-1');
//validación
$salida = '<div id="cheque'.$num.'"><table><tr><td height="25">&nbsp;</td><td align="left" valign="middle"><input name="fecha'.$num.'" type="text" id="campo-'.$num.'" /><img src="calendar.gif" width="14" height="14" type="submit" id="boton-'.$num.'" title="Seleccionar Fecha"/><script type="text/javascript">Calendar.setup({inputField : "campo-'.$num.'", button : "boton-'.$num.'", });</script></td><td align="left" valign="middle"><label><input name="num_cheque'.$num.'" type="text" id="num_cheque'.$num.'" size="20" maxlength="30" value="'.$num.'"/></label></td><td align="left" valign="middle"><label><input name="destino_cheque'.$num.'" type="text" id="destino_cheque'.$num.'" size="40" maxlength="50" /> </label></td><td align="left" valign="middle"><label><input name="importe'.$num.'" type="text" id="importe'.$num.'" size="15" maxlength="10" /></label></td><td>&nbsp;</td></tr></table></div>';
//escribimos en la capa con id="agrego_cheque" el texto que aparece en $salida
$respuesta->addAppend("agrego_cheque","innerHTML","$salida" );

//tenemos que devolver la instanciación del objeto xajaxResponse
return $respuesta;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("proceso_envio");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?>
Hasta ahi genero una variable salida dentro de la función que contendra todo el div que voy a insertar, la funcion $num sería un contador que llenaria los campos con un valor incrementado, es decir, al hacer un click seria div id=cheque1, otro click y seria div id=cheque2 etc. etc. pero no consigo que el valor se incremente, ya he probado con variables globales de php y nada, para colmo no lo puedo hacer a traves de $_session porque la validación de usuarios ya va por ahi y llevo 6 variables en todo el entorno. Se me ocurrio mandarle el valor en el evento onclick pero no logro que funcione. Acá va el resto del archivo html.:

Cita:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Crear input file</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link href="estilos.css" rel="stylesheet" type="text/css" />
<?
//En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
$xajax->printJavascript("xajax/");
?>
<script language="javascript" type="text/javascript">
//Aca estuve probando de hacerlo como paso intermedio con javascript. pero tampoco funciono
function cuenta(valor_contador){
++valor_contador;
return valor_contador;
}
</script>
</head>
<body>
<div id="capa_titulos">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<!--DWLayoutTable-->
<tr>
<td height="20" colspan="5" align="right" valign="middle" class="small"><a href="#" onclick="xajax_proceso_envio(cuenta(1))">«« Agregar cheques al sistema Contable »»</a></td>
<td width="12">&nbsp;</td>
</tr><form name="emite_cheques" id="emite_cheques" action="contable/procesa_alta_cheque.php" method="post">
<tr>
<td width="10" height="20">&nbsp;</td>
<td width="195" align="left" valign="middle" class="tabla_iz_ab">&nbsp;&nbsp;Fecha de Emisión</td>
<td width="154" align="left" valign="middle" class="tabla_iz_ab">&nbsp;&nbsp;Nº de Cheque</td>
<td width="268" align="left" valign="middle" class="tabla_iz_ab">&nbsp;&nbsp;Destinatario</td>
<td width="124" align="left" valign="middle" class="tabla_arr_no">&nbsp;&nbsp;Importe</td>
<td>&nbsp;</td>
</tr>
</table>
</div>
<div id="cheque1">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="25">&nbsp;</td>
<td align="left" valign="middle"><input name="fecha1" type="text" id="campo-1" tabindex="1"/>
<img src="calendar.gif" width="14" height="14" type="submit" id="boton-1" title="Seleccionar Fecha"/>
<script type="text/javascript">
Calendar.setup({
inputField : "campo-1",
button : "boton-1",
});
</script></td>
<td align="left" valign="middle"><label>
<input name="num_cheque1" type="text" id="num_cheque1" tabindex="2" size="20" maxlength="30" />
</label></td>
<td align="left" valign="middle"><label>
<input name="destino_cheque1" type="text" id="destino_cheque1" tabindex="3" size="40" maxlength="50" />
</label></td>
<td align="left" valign="middle"><label>
<input name="importe1" type="text" id="importe1" tabindex="4" size="15" maxlength="10" />
</label></td>
<td>&nbsp;</td>
</tr>
</table>
</div>
<div id="agrego_cheque">
</div>
<div id="envia_form">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="25"></td>
<td colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
<td colspan="2" align="right" valign="middle"><label>
<input type="submit" name="Grabar" id="Grabar" value="Grabar" tabindex="21" />
&nbsp;&nbsp;&nbsp;
<input type="reset" name="Limpiar_form" id="Limpiar_form" value="Eliminar datos cargados" tabindex="22" />
</label></td>
<td></td>
</tr>


<tr>
<td height="155"></td>
<td colspan="4" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
<td></td>
</tr>
</form></table>
</div>
</body>
</html>
y todo esto paso por el bendito calendario, porque sino lo hacia en javascript directamente con getelementbyid y appendchild.

Espero que me puedan dar una mano, agradezco el tiempo que se toman para ayudar, si a alguien le sirve mi código, es libre de usarlo, saludos!!!