Foros del Web » Programando para Internet » Javascript »

Continuidad de datos y Ajax

Estas en el tema de Continuidad de datos y Ajax en el foro de Javascript en Foros del Web. Buenas compañeros, Tengo un pequeño problema en un sistema que estoy haciendo para la toma de pedidos. bueno la aplicacion está hecha en php, pero ...
  #1 (permalink)  
Antiguo 29/08/2007, 10:10
 
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 18 años, 5 meses
Puntos: 0
Continuidad de datos y Ajax

Buenas compañeros,

Tengo un pequeño problema en un sistema que estoy haciendo para la toma de pedidos.

bueno la aplicacion está hecha en php, pero contiene mucho javascript, ahora cuando quiero generar los pedidos de un producto especifico, selecciono de un combo el producto, al este cambiar (onchange) hace una llamada ajax que agrega una linea con la informacion del pedido a ingresar para ese producto elegido, esta linea se agrega sin complicaciones llenando todos los campos en 0 como debe ser, ahora despues de haber modificado todos los datos, y eligo otro producto para agregarlo al pedido, pierdo los datos ingresados, y se reinician a cero.

La pregunta es Cómo hacer para no perder esos datos que ya he ingresado,

Cualquier ayudita será agradecida

Gracias
  #2 (permalink)  
Antiguo 29/08/2007, 13:41
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: Continuidad de datos y Ajax

que tal, a ver si entendi, cuando seleccionas un valor del SELECT dices que te muetras campos en donde puedes llenar informacion sobre el valor que seleccionaste? y que cuando caudno eligues otro valor te vuelve a mostrar los campos limpios? por que quieres conservar los datos de un valor anterior al seleccionar un nuevo valor del select?
__________________
Wow! No se que decir...
  #3 (permalink)  
Antiguo 29/08/2007, 14:17
 
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Continuidad de datos y Ajax

Hola, que tal?

Ok , lo que yo hago es lo siguiente: tengo un select normal que contiene los codigos de productos que ofrece una tienda,
Cuando selecciono alguno en particular se activa una instruccion javascript (la opcion onchange del input) que hace una llada a un ajax que lo que hace es agregar una linea al pedido, en esa linea yo agrego la cantidad a pedir, el color a pedir, la talla, etc..., ok, entonces cuando selecciono otro producto del select, la primera linea se conserva, pero no los datos que ingresé, entonces una vez hecho la seccion que mencione, ahora tengo 2 lineas pero con los inputs en 0, ahi logre hacer algo, pero no me coloca los valores en las lineas donde lo agregue,
te agrego el codigo para que veas.

Este el el Select que te comente:

<select name="producto" class="Estilo17" id="producto" style="width:300px" onchange="ajax.get('../cont.php#update7',{'id_prov':<?php echo $id_prov ?>,'id_tienda':<?php echo $id_tienda ?>,'producto':document.form1.producto.value,'cuent a':document.form1.cuenta1.value});ajax.get('encabe zado.php#update99',{'id_prov':<?php echo $id_prov ?>,'id_tienda':<?php echo $id_tienda ?>,'producto':<?php echo $producto ?>,'llave':1});ajax.get('existenciap1_ped_ii.php#u pdate',{'id_prov':<?php echo $id_prov ?>,'id_tienda':<?php echo $id_tienda ?>,'fecha':'<?php echo $fecha ?>','n_pedido':<?php echo $n_pedido ?>});ajax.get('marc_prov.php#update1',{'id_prov':< ?php echo $id_prov ?>});ajax.get('marc_prov.php#update2',{'id_prov':< ?php echo $id_prov ?>});ajax.get('xxx.php#+update3',{'id_prov':<?php echo $id_prov ?>,'id_tienda':<?php echo $id_tienda ?>,'producto':document.form1.producto.value,'costo ':costo});ajax.get('encabezado.php#updatexx',{'id_ prov':<?php echo $id_prov ?>,'id_tienda':<?php echo $id_tienda ?>,'producto':<?php echo $producto ?>,'llave':1});ajax.get('producto_prov2.php#update 4',{'id_prov':<?php echo $id_prov ?>});ajax.get('marc_prov.php#update2',{'id_prov':< ?php echo $id_prov ?>})">
<option value="0"></option>
<?php
do {
?>
<option value="<?php echo $row_Recordset1['id_producto']?>"><?php echo $row_Recordset1['modelo']?> / <?php echo $row_Recordset1['tacon']?></option>
<?php
} while ($row_Recordset1 = mysql_fetch_assoc($Recordset1));
$rows = mysql_num_rows($Recordset1);
if($rows > 0) {
mysql_data_seek($Recordset1, 0);
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
}
?>
</select>




y este es lo que monta cuando hace el onchage, lo que es es una linea de pedido:




<?php




if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;

$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_Recordset1") == false &&
stristr($param, "totalRows_Recordset1") == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?>
<!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=iso-8859-1" />
<title>Lista de Existencia de Productos</title>


</head>

<body>

<?php if ($llave==1) {?>
<?php //$xxx=0;?>
<?php } else {?>
<table border="0" cellpadding="0" cellspacing="0" bordercolor="#666666" bgcolor="#666666">
<tr>
<td bgcolor="#CCCCCC"><table border="0" cellpadding="1" cellspacing="1" bgcolor="#999999">
<?php $colq = 0; $i=0; $xxx=0+$cuentat;?>
<?php do { ?>
<?php
if ($colq%2==0){
echo "<tr bgcolor=#FFFFFF>"; //si el resto de la divisi&oacute;n es 0 pongo un color
} else {
echo "<tr bgcolor=#F5F5F5>"; //si el resto de la divisi&oacute;n NO es 0 pongo otro color
}

?>
<?php
$num= $row_Recordset1['talla'];
$num1 = round($num);
$num2 = $num;
if ($num1>$num2){

$med=sprintf ("%08d",$row_Recordset1['id_producto'],0,4).sprintf ("%05d",$row_Recordset1['id_color'],0,4)."9".sprintf ("%02d",$row_Recordset1['talla'],0,2); //si la talla es por ejemplo 35,5
} else {

$med=sprintf ("%08d",$row_Recordset1['id_producto'],0,4).sprintf ("%05d",$row_Recordset1['id_color'],0,4)."0".sprintf ("%02d",$row_Recordset1['talla'],0,2); //si la talla es por ejemplo 35
}

?>
<tr bgcolor="#FFFFFF">
<td width="100"><span class="Estilo20 Estilo25 Estilo28">
<input name="prod<?php echo $xxx ?>" type="hidden" id="prod<?php echo $xxx ?>" value="<?php echo $row_Recordset1['id_producto']; ?>"/>
<?php echo substr($row_Recordset1['modelo'],0,15); ?></span></td>
<td width="100"><span class="Estilo20 Estilo25 Estilo28">

<?php echo substr($row_Recordset1['tacon'],0,15); ?></span></td>
<td width="80"><select name="color<?php echo $xxx ?>" class="Estilo20" id="color<?php echo $xxx ?>" style="width:80px">
<?php
do {
?>
<option value="<?php echo $row_Recordset1color['id_color']?>"><?php echo $row_Recordset1color['color']?></option>
<?php
} while ($row_Recordset1color = mysql_fetch_assoc($Recordset1color));
$rows = mysql_num_rows($Recordset1color);
if($rows > 0) {
mysql_data_seek($Recordset1color, 0);
$row_Recordset1color = mysql_fetch_assoc($Recordset1color);
}
?>
</select>
</td>
<td width="60"><span class="Estilo28"><span class="Estilo20 Estilo28">


<input name="costo<?php echo $xxx ?>" type="text" class="lleno" id="0.00" style="font-size:10px; width:60px;" value="<?php echo $cos ?>" size="8" maxlength="12" onblur="set_costo(this.value, this.id)"/>

</span></span></td>
<td width="60"><span class="Estilo20 Estilo28">
<input name="pvp<?php echo $xxx ?>" type="text" class="lleno" id="pvp<?php echo $xxx ?>" style="font-size:10px; width:60px; " value="0.00" size="8" maxlength="12"/>
</span></td>
<td width="60"><div align="right" class="Estilo20 Estilo28">
<input name="pvpt<?php echo $xxx ?>" type="text" class="lleno" id="pvpt<?php echo $xxx ?>" style="font-size:10px; width:60px; " value="0.00" size="8" maxlength="12"/>
</div></td>
<?php //Cantidad por Columnas de talla -------------------------------------------------------?>
<?php for($j=0;$j<=$num_max_column;$j++){?>
<td width="25"><span class="Estilo20 Estilo25 Estilo28">
<?php
if (($talla[$j]<$row_Recordset1['desde']) || ($talla[$j]>$row_Recordset1['hasta'])) {

echo "";

} else {
?>
<input name="talla<?php echo $xxx ?>-<?php echo $j ?>" type="hidden" value="<?php echo $talla[$j]; ?>"/>
<input name="cant_talla<?php echo $xxx ?>-<?php echo $j ?>" type="text" class="lleno" value="0" size="1" maxlength="12" style="font-size:10px; width:24px"/>
<?php
}
?>
</span></td>
<?php }?>
</tr>
<?php $colq++;$i++;$xxx++;?>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table></td>
</tr>
</table>
<?php echo max($colum_adic)?>
<?php }?>
<input name="tot_reg" type="hidden" id="tot_reg" value="<?php echo $xxx ?>"/>
<input name="tot_col_reg" type="hidden" id="tot_col_reg" value="<?php echo $num_max_column ?>"/>



</body>
</html>


<?php
mysql_free_result($Recordset1);
$cos=0;
?>



Debo Conservar los datos porque asi lo especificó el cliente.

GRacias por tu participacion

  #4 (permalink)  
Antiguo 29/08/2007, 14:27
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: Continuidad de datos y Ajax

ok, ya entendi tu idea ahora si, lo que no entiendo es tu codigo, nos e PHP y eso me confunde, supongo que creas los campos dinamicamente, o no? puedes indicarme la parte en donde creas los campos done ingresas los valores para cada articulo que seleciconas?
__________________
Wow! No se que decir...
  #5 (permalink)  
Antiguo 29/08/2007, 14:59
 
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Continuidad de datos y Ajax

Ok, te agrego el codigo donde estan los campos, voy a eliminar todo el codigo php,

<table border="0" cellpadding="0" cellspacing="0" bordercolor="#666666" bgcolor="#666666">
<tr>
<td bgcolor="#CCCCCC"><table border="0" cellpadding="1" cellspacing="1" bgcolor="#999999">

<tr bgcolor="#FFFFFF">
<td width="100"><span class="Estilo20 Estilo25 Estilo28">
<input name="prod" type="hidden" id="prod<?php echo $xxx ?>" value="<?php echo $row_Recordset1['id_producto']; ?>"/>
<?php echo substr($row_Recordset1['modelo'],0,15); ?></span></td>
<td width="100"><span class="Estilo20 Estilo25 Estilo28">

</span></td>
<td width="80"><select name="color" class="Estilo20" id="color" style="width:80px">

<option value=" "></option>

</select>
</td>
<td width="60"><span class="Estilo28"><span class="Estilo20 Estilo28">


<input name="costo" type="text" class="lleno" id="costo" style="font-size:10px; width:60px;" value="" size="8" maxlength="12" onblur="set_costo(this.value, this.id)"/>


**********Este onblur que esta arriba lo agregue de manera que me ayudara un poco, pero nada************************

</span></span></td>
<td width="60"><span class="Estilo20 Estilo28">
<input name="pvp" type="text" class="lleno" id="pvp" style="font-size:10px; width:60px; " value="0.00" size="8" maxlength="12"/>
</span></td>
<td width="60"><div align="right" class="Estilo20 Estilo28">
<input name="pvpt" type="text" class="lleno" id="pvpt" style="font-size:10px; width:60px; " value="0.00" size="8" maxlength="12"/>
</div></td>

<td width="25"><span class="Estilo20 Estilo25 Estilo28">


<input name="talla-<?php echo $j ?>" type="hidden" value=""/>
<input name="cant_talla" type="text" class="lleno" value="0" size="1" maxlength="12" style="font-size:10px; width:24px"/>

</span></td>
</tr>
</table></td>
</tr>
</table>


Cualquier cosa me avisas

Gracias
  #6 (permalink)  
Antiguo 29/08/2007, 15:46
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 18 años, 7 meses
Puntos: 3
Re: Continuidad de datos y Ajax

en realidad me interesaba ver mas la parte de JS si es que utilizas para ir anexando fila de datos...
__________________
Wow! No se que decir...
  #7 (permalink)  
Antiguo 30/08/2007, 12:05
 
Fecha de Ingreso: noviembre-2005
Ubicación: Venezuela
Mensajes: 56
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: Continuidad de datos y Ajax

Ok, no, en realidad no tengo mucho JS, por eso pregunto, todo se hace via AJAX, que es lo mismo que JS pero de una manera asincrona, pero se me hace muy dificil explicarte lo que quiero sin que puedas ver el programa y su funcionamiento, pero te agradesco tu preocupacion
  #8 (permalink)  
Antiguo 30/08/2007, 14:47
 
Fecha de Ingreso: abril-2007
Mensajes: 79
Antigüedad: 17 años
Puntos: 0
Re: Continuidad de datos y Ajax

hola.

no he leido todo tu codigo porque esta un poco larguito.

pero bien. a mi entender, pareciera que quisieras generar algo asi como una orden de pedidos o una especie de carrito. para simplificar: pareciera que quieres ir anadiendo cada item pero **dinamicamente**. eso es lo que capte.

si asi fuera, se me vienen dos soluciones:

1) (la mas simple) dimensiona una cantidad fija de items a rellenar(lo que llamas, color, talla, etc. todo ello conforma un item, no es?), digamos para unos 10 o 20 items;

2) (la mas complicada y ideal) vas creando cada item(fila) **dinamicamente** y de acuerdo a la cantidad de items que selecciones, solo lo necesario.

para este ultimo, tienes que revisar algo relacionado con DOM(document object model) y javascript.


espero haber ayudado
saludos cordiales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:58.