Foros del Web » Programando para Internet » Javascript »

Modificar valor de input en vivo

Estas en el tema de Modificar valor de input en vivo en el foro de Javascript en Foros del Web. Muy buenas, Tengo un formulario de conversion, y necesito que el resultado sea actualizado acorde a la cantidad que ingrese el usuario. El problema es ...
  #1 (permalink)  
Antiguo 02/06/2016, 11:27
 
Fecha de Ingreso: agosto-2013
Mensajes: 27
Antigüedad: 10 años, 9 meses
Puntos: 0
Modificar valor de input en vivo

Muy buenas,
Tengo un formulario de conversion, y necesito que el resultado sea actualizado acorde a la cantidad que ingrese el usuario.

El problema es que no se recoger bien el valor que hay en el input en cada momento, por lo tanto el bucle if me falla.
He probado con on.change y .live , pero no lo he conseguido.

Código HTML:
<input type="text" id="from_amount" value="0" name="amount" />
<span class="num" id="conv_result">0</span>
<input type="submit" action="" method="" > 
Código PHP:
function a(){
 
var 
price = $("#from_amount").val(); //Get the number of the input
 
if (price == 0){
        var 
total 1;
    }else if (
price 20 && price 30){
        var 
total price 2;
    }else{
        var 
total 4;
}
     return 
total;
}
 
  var 
conver = {
     
'people': {
     
'rooms'a()
      },
  }; 
Gracias y un saludo.
  #2 (permalink)  
Antiguo 02/06/2016, 15:12
Avatar de michellqm  
Fecha de Ingreso: septiembre-2015
Mensajes: 21
Antigüedad: 8 años, 8 meses
Puntos: 5
Respuesta: Modificar valor de input en vivo

Hola,

Bien, vamos por pasos. definitivamente necesitas un OnChange . El OnChange se comporta de manera tal que, cuando presionas fuera del elemento el valida que cambió y por corre la función. Para pasar el valor del input a tu funcion debes usar un argumento. Un argumento es una variable que el tomará y manipulará en si misma. Ejemplo

Defines tu funcion a(price) y al llamarla en tu OnChange="a(44)" automaticamente price será igual a 44 dentro de la función a. Esto lo usas para enviar el valor de tu input a tu función

Código HTML:
Ver original
  1. <input type="text" id="from_amount" value="0" name="amount" onChange="a($('#from_amount').val())" />

Hasta ahí todo bien. Ahora, lo que sale de tu imput con $('#from_amount').val() va a ser un "String" para pasarlo a numeros y evitar problemas en tus cuentas utiliza la función Number(variable)

Código HTML:
Ver original
  1. var price = Number(price);

Otro problema que noté (estoy abierta a correcciones btw) es que intentas usar una variable no definida fuera de la funcion. Yo prefiero, en caso de usar una variable en varios procesos, definirla como una variable global en lugar de crearla y asignarla dentro de un bucle con un simple var total; al inicio de tu script será suficiente

Prueba con estos tips y avísame como te fue

Feliz día!

Etiquetas: input, live, valor
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 04:50.