Foros del Web » Programando para Internet » Javascript »

Actualizar Valor Sin actualizar la página

Estas en el tema de Actualizar Valor Sin actualizar la página en el foro de Javascript en Foros del Web. lo que quiero hacer es cojer un valor de un select, y entonces dependiendo de ese valor, el cual tiene un precio sumarselo al total ...
  #1 (permalink)  
Antiguo 22/02/2005, 06:02
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
Pregunta Actualizar Valor Sin actualizar la página

lo que quiero hacer es cojer un valor de un select, y entonces dependiendo de ese valor, el cual tiene un precio sumarselo al total y todo ello sin actualizar la pagina, es decir tengo una pcion de configurar tu pc el cual vas eligiendo las piezas que tienen un precio y abajo te pone el total por lo que segun vas eligiendo se deberia ir sumando y todo ello sin actualizar la página, eso es posible porque en algun sitio lo he visto. no me acuerdo donde porque sino le preguntaria a ese wqebmaster, gracias de ante mano.
  #2 (permalink)  
Antiguo 22/02/2005, 06:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Con javascript, esta claro.
La cuestion es: la lista de precios la tienes completamenten cargada en tu pagina o debe de realizar peticiones al servidor para preguntar ?

Si la respuesta es la primera, deberas.
Crearte una funcion que sume al campo total del formulario el valor del select. Y lo gestionas en el evento onChange del select

Cita:

function sumatotal(dinerito){
document.<nombreformulario>.<nombreobjeto>.value=p arseFloat( document.<nombreformulario>.<nombreobjeto>.value)+ parseFloat(dinerito);

}
No se si habrá quedado claro!!!

Última edición por vampirnet; 22/02/2005 a las 06:18
  #3 (permalink)  
Antiguo 22/02/2005, 06:31
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
la lista de precios la obtiene de una base de datos y los valores de los elects tambien, es decir, en el select sale caja atx + 32 €, por ejemplo, y el value de ese option es el id del articulo
  #4 (permalink)  
Antiguo 22/02/2005, 06:34
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por sanjo
la lista de precios la obtiene de una base de datos y los valores de los elects tambien, es decir, en el select sale caja atx + 32 €, por ejemplo, y el value de ese option es el id del articulo
Claro, pero entonces tendras que tener un array donde para cada id almacenar el precio, tambien puedes utilizar el value combinado, es decir poner value="id|precio".
Y cuando recuperes el valor, hacer un split por | y recoger el valor y sumarlo con la funcion que te he escrito antes.

Lo correcto seria usar un array de precios.!!!
  #5 (permalink)  
Antiguo 22/02/2005, 06:42
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
tambien lo que puedo hacer es obtener el id y con ese id luego hacer una nueva consulta a la base de datos y obtener el precio que tiene ese id no???? o seria peor, es que como me dices tu no se hacerlo
  #6 (permalink)  
Antiguo 22/02/2005, 08:14
 
Fecha de Ingreso: febrero-2005
Mensajes: 28
Antigüedad: 19 años, 3 meses
Puntos: 0
Cita:
Iniciado por sanjo
tambien lo que puedo hacer es obtener el id y con ese id luego hacer una nueva consulta a la base de datos y obtener el precio que tiene ese id no???? o seria peor, es que como me dices tu no se hacerlo
Si lo haces asi, tendrias que recargar la pagina, haciendo una nueva consulta al servidor.
Código:
//array de precios
var precios = new Array[34,25,12,6];

function sumatotal(idselect){
    var total = parseFloat( document.<nombreformulario>.<nombreobjeto>.value)+parseFloat(precios[idselect])
document.<nombreformulario>.<nombreobjeto>.value=total;
}


<html>
  <select onChange="sumatotal(this.value)">
    <option id=1>Atx</option>
    ....
    ....
 </select>

</html>
Jodo, te he escrito casi el programilla, el array de precios lo cargarias dinamicamente del servidor.

Otra forma de hacerlo

Código:
  <html>
  <select onChange="sumatotal(this.value)">
    <option id="1|25">Atx</option>
    <option id="2|150">Pentium IV</option>
    ....
    ....
  </html>

funtion sumatotal(valor){
  var campos = valor.split("|");
  //campos[0] ---> id del producto
  //campos [1] ---> valor del producto
  document.<nombreformulario>.<nombreobjeto>.value=  document.<nombreformulario>.<nombreobjeto>.value+campos[1];
}
Ala, un saludo.
  #7 (permalink)  
Antiguo 22/02/2005, 09:09
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
gracias tio, ahora voy a probarlo
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
  #8 (permalink)  
Antiguo 22/02/2005, 09:31
Avatar de sanjo  
Fecha de Ingreso: enero-2005
Mensajes: 404
Antigüedad: 19 años, 3 meses
Puntos: 0
oye otra dudilla, haber ya lo he echo y me funciona
Código:
html>
  <select onChange="sumatotal(this.value)">
    <option id="25">Atx</option>
    <option id="150">Pentium IV</option>
    ....
    ....
  </html>

funtion sumatotal(valor){
  var campos = valor;

  document.frm.t1.value= document.frm.s1.value;
}
ahora bien el select depende de cual coja es s1, s2,s3,s4,s5,etc.... como hago para qeu ese metodo o función me reconozca es formulario y de esa manera coja el valor, es decir a mi me cambia el document.frm.s1.value
__________________
¿Quiere echarte unas risas y ver cosas espectaculares?
Nomeessentado.com
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 17:50.