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

Buenas, estoy haciendo un desarrollo para mi trabajo y "bendita la hora que se me ocurrio" tengo que cargar los cheques que se emiten en una base, hasta ahi todo bien. El tema es que cuando ingreso a la pantalla para cargar los cheques pongo en un form un cheque solamente, y si el usuario quiere cargar mas de uno solo debe hacer click en "agregar cheque" y agrego otra linea de campos en un div debajo del anterior.

He logrado hacer esto con xajax y php, pero si vuelvo a hacer click no me carga un tercer cheque, entonces la idea inicial no me sirve de nada. Alguna idea de como solucionarlo?...
El codigo es el siguiente:

Código:
<?php
//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();

$num = 1;
$salida ="";
function proceso_envio($indice){
  //creo el xajaxResponse para generar una salida
   $respuesta = new xajaxResponse('ISO-8859-1');
   //validación
	$num = $num + $indice;
	$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="capaformulario" el texto que aparece en $salida
      $respuesta->addAssign("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();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html> 
<head>
<title>Agregar cheques</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<?
   //En el <head> indicamos al objeto xajax se encargue de generar el javascript necesario
   $xajax->printJavascript("xajax/");
?>
</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(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>
Gracias de antemano por sus respuestas, saludos.