Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Autosumar en Ajax Resultados de una consulta

Estas en el tema de Autosumar en Ajax Resultados de una consulta en el foro de Frameworks JS en Foros del Web. Buenas Tardes Amigos! Les pido su ayuda debido a que soy novato en AJAX y tengo un problema con lo siguiente. Tengo una pantalla donde ...
  #1 (permalink)  
Antiguo 27/06/2011, 15:30
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Autosumar en Ajax Resultados de una consulta

Buenas Tardes Amigos!

Les pido su ayuda debido a que soy novato en AJAX y tengo un problema con lo siguiente. Tengo una pantalla donde tengo un formulario y hay quiero vender unos articulos.
Entonces hago una consulta con campos dependientes para que al elegir un articulo el siguiente input cambia y me imprima el precio del articulo seleccionado y despues vea existencias. hasta aqui todo bien.
El problema radica cuando quiero sumar las variables, como ajax maneja archivos externos no se como mandar llamar la variables que estan en otro archivo y traerlas a donde tengo el formulario para poder sumar con una fuccion y me de el precio por la cantidad.
Despues sus valores guardarlos en la base de datos al enviar todo con un boton.

Aqui pongo el codigo:

Esta funcion hace la suma:
<script>

function addTotals() {
with (document.forms["frm_usu"])
{
var totalResult = Number( select1.value ) * Number( cantidad.value );
importe.value = roundTo( totalResult, 2 );
}
}

function roundTo(num,pow){
if( isNaN( num ) )
{
num = 0;
}

num *= Math.pow(10,pow);
num = (Math.round(num)/Math.pow(10,pow))+ "" ;
if(num.indexOf(".") == -1)
num += "." ;
while(num.length - num.indexOf(".") - 1 < pow)
num += "0" ;

return num;
}
</script>

aqui la parte de codigo que hace la suma y que me permite manipular la consulta de los campos dependientes:

<?php
function generaSelect()
{
include 'conexion.php';
//conectar();
$consulta=mysql_query("SELECT * FROM articulos order by nombre asc");
//desconectar();

// Voy imprimiendo el primer select compuesto por los paises
echo "<center><select name='select1' id='select1' onChange='cargaContenido(this.id)'>";
echo "<option value='0'>Seleciona Articulo</option>";
while($registro=mysql_fetch_row($consulta))
{
echo "<option value='".$registro[2]."'>".$registro[1]."</option>";
}
echo "</select></center>";
}
?>

<!--<div id="ademo" style="width:800">-->
<!--<div id="ademoIzq">-->

<center><table width="90%" border="2" cellpadding="5" cellspacing="2">
<thead>
<tr>
<td colspan="6" bgcolor="#0099FF"><center><font color= white><strong>Seleccione Articulo y Disponibilidad</strong></font></center></td>
</tr>
<tr>
<td bgcolor="#0099FF"><center><font color= white>Articulo</font></center></td>
<td bgcolor="#0099FF"><center><font color= white>$ Precio</font></center></td>
<td bgcolor="#0099FF"><center><font color= white>Existencias</font></center></td>
<td bgcolor="#0099FF"><center><font color= white>Cantidad</font></center></td>
<td bgcolor="#0099FF"><center><font color= white>Importe</font></center></td>
<td bgcolor="#0099FF"><center><font color= white>Agregar</font></center></td>
</tr>


<td><?php generaSelect(); ?></td>

<td><center><select onblur="addTotals()" disabled="disabled" name="select2" id="select2">
<option value="0">Selecciona opci&oacute;n...</option>
</select></center></td>


<td><center><select disabled="disabled" name="select3" id="select3">
<option value="0">Selecciona opci&oacute;n...</option>
</select></center></td>

<td><center><input onblur="addTotals()" name="cantidad" id="cantidad" type="text" size="4" maxlength="4"/></center></td>



<td><center><input onblur="addTotals()" name="importe" id="importe" type="text" size="6" maxlength="10" readonly="readonly"/></center></td>

<td><input name="agregar" type="submit" id="agregar" value="Agregar" /></td>


Finalmente el archivo que se llama consulta.php y la consulta donde manipulo los campos dependientes y es donde tengo la duda, como de aqui mando el valor de un campo para que las variables de se muestren tambien en el otro archivo donde tengo el formulario, para poder tener su valor de todo en el formulario principal y guardar sus valores en una base de datos.

En Resumen, las variabes que guardan un valor de un campo del formulario, en el caso de ajax estan en otro archivo pero se muestra el resultado en pantalla pero la variable esta en otro archivo donde se llevo acabo la consulta, como hagpo para que esa variable la tenga en el formulario principal y poder guardar su valor en la bd. Saludos y gracias!
  #2 (permalink)  
Antiguo 28/06/2011, 05:56
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 8 meses
Puntos: 1532
Respuesta: Autosumar en Ajax Resultados de una consulta

1- ajax no maneja archivos externos, simplemente envía peticiones al servidor sin recargar la página, y al mismo servidor, no puede enviar a servidores o dominios externos, así que no es externo

2- con ajax puedes recibir datos del servidor, pero una vez obtenidos por js, es con él que se realizan los cálculos, recuerda ajax no es un lenguaje
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 11/07/2011, 16:47
 
Fecha de Ingreso: febrero-2011
Mensajes: 3
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Autosumar en Ajax Resultados de una consulta

Cita:
Iniciado por maycolalvarez Ver Mensaje
1- ajax no maneja archivos externos, simplemente envía peticiones al servidor sin recargar la página, y al mismo servidor, no puede enviar a servidores o dominios externos, así que no es externo

2- con ajax puedes recibir datos del servidor, pero una vez obtenidos por js, es con él que se realizan los cálculos, recuerda ajax no es un lenguaje
Gracias por la respuesta amigo! solo una duda mas......

Tengo en un archivo js el siguiente codigo.

$(document).ready(function(){
fn_dar_eliminar();
fn_cantidad();
fn_sumar();
$("#frm_usu").validate();
});

function fn_cantidad(){
cantidad = $("#detalle tbody").find("tr").length;
$("#span_cantidad").html(cantidad);
};

function fn_agregar(){

cadena = "<tr>";
cadena = cadena + "<td bgcolor=#FFFFFF>" + $("#cantidad").val() + "</td>";
cadena = cadena + "<td bgcolor=#FFFFFF>" + $("#select1").val() + "</td>";
cadena = cadena + "<td bgcolor=#FFFFFF>" + $("#precio").val() + "</td>";
cadena = cadena + "<td bgcolor=#FFFFFF>" + $("#importe").val() + "</td>";
cadena = cadena + "<td bgcolor=#FFFFFF><a class='elimina'><img src='delete.png' /></a></td></tr>";
//cadena = cadena + "<tr><td bgcolor=#FFFFFF colspan=4>" + $("#importe").val() +"</td></tr>";
$("#detalle tbody").append(cadena);

//$("#valor_tres").val()= $("#valor_id").val() * $("#valor_dos").val();

//aqui puedes enviar un conunto de datos ajax para agregar al usuario
var select1 = $("#select1").val();
var precio = $("#precio").val();
var select2 = $("#select2").val();
var cantidad = $("#cantidad").val();
var importe = $("#importe").val();
var total = $("#total").val();

y quiero mandar los datos de las variables al archivo php donde hago el calculo de sumar los importes.

el codigo qye tengo no me funciona y es:

$.post("consultar2.php", {select1: $("#select1").val(), precio: $("#precio").val()});

le he querido mandar estas variables de este archivo js al archivo php con la sintaxis de arriba pero nelazo no se deja.

Disculpen las molestias de este novato pero necesito ayuda!

Etiquetas: ajax, ajax-php, ajax-php-mysql, almacenar_variables_en, autosuma, bd, variablesphp
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 10:15.