Foros del Web » Programando para Internet » Javascript »

Como poner coma entre 2 numeros

Estas en el tema de Como poner coma entre 2 numeros en el foro de Javascript en Foros del Web. Primero que nada un saludo, soy nuevo en el foro y realmente necesito de su ayuda. Resulta que nose como poner una coma entre dos ...
  #1 (permalink)  
Antiguo 10/07/2011, 13:51
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Pregunta Como poner coma entre 2 numeros

Primero que nada un saludo, soy nuevo en el foro y realmente necesito de su ayuda.
Resulta que nose como poner una coma entre dos numeros en un input que vendria siendo una nota. El problema comienza cuando quise hacerlo con una simple funcion en javascript pero me aparece un error al llamar por el nombre al input porque este es un input creado dinamicamente:

Código HTML:
<input maxlength="3" name="seleccion[]"  type="text" style= "width: 15%; " /> 
al hacer referencia a el por javascript asi como:

Código Javascript:
Ver original
  1. document.form_notas.seleccion[]

me da un error por los corchetes me imagino, asi que no se como hacerlo!!

si me pueden ayudar seria genial :)
  #2 (permalink)  
Antiguo 10/07/2011, 16:38
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Como poner coma entre 2 numeros

Usa getElementsByTagName o la colección elements del form.
Saludos (:
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #3 (permalink)  
Antiguo 10/07/2011, 18:05
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Cita:
Iniciado por _cronos2 Ver Mensaje
Usa getElementsByTagName o la colección elements del form.
Saludos (:
Eso me serviria para obtener el valor, pero para devolver el valor al input?
como seria?
  #4 (permalink)  
Antiguo 10/07/2011, 18:07
Avatar de _cronos2
Colaborador
 
Fecha de Ingreso: junio-2010
Mensajes: 2.062
Antigüedad: 14 años, 6 meses
Puntos: 310
Respuesta: Como poner coma entre 2 numeros

Usa value.
Saludos.
__________________
" Getting older’s not been on my plans
but it’s never late, it’s never late enough for me to stay. "
Cigarettes - Russian Red
  #5 (permalink)  
Antiguo 10/07/2011, 18:21
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

mira lo stoy intendando de esta forma

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function agregarPunto(nota){
  3. var miString =  nota ;
  4. var result = "" ;
  5. var numero = "" ;
  6. var mitad1,mitad2 ;
  7.  
  8. posicion_mitad = miString.length / 2 ;
  9.  
  10. mitad1 = miString.substring(0,posicion_mitad);
  11. mitad2 = miString.substring(posicion_mitad,miString.length);
  12.  
  13. numero= mitad1 + "." + mitad2
  14. document.getElelementsByTagName.("seleccion[]").value = numero;
  15. }
  16. </script>

pero el firebug me dice : "miString.substring is not a function"
y no se me ocurre de que otra forma podria ser
  #6 (permalink)  
Antiguo 11/07/2011, 04:28
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: Como poner coma entre 2 numeros

hola zero_axm,
no veo desde donde llamas a tu función agregarPunto, ni sé tipo de parámetro es nota. La cuestión es que si estás mandando el objeto entero (nota) es normal que falle, pues un objeto entero no tiene la propiedad substring. Solo las cadenas de texto la tienen. Si estás mandando el objeto entero lo que tendrías que hacer es:

var miString = nota.value;

ya con eso no debería fallarte.

saludos.
  #7 (permalink)  
Antiguo 11/07/2011, 10:25
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Gracias por responder ceSharp, ya me habia fijado en eso y arregle el error...
resulta que ahora logro hacer que tome el numero y le inserte el punto entre estos dos
mira:

Código Javascript:
Ver original
  1. function agregarPunto(nota){
  2.  
  3. var miString = nota ;
  4. var mitad1,mitad2 ;
  5. var numero ;
  6. posicion_mitad = miString.length / 2 ;
  7.  
  8. mitad1 = miString.substring(0,posicion_mitad) ;
  9. mitad2 = miString.substring(posicion_mitad,miString.length) ;
  10.  
  11. document.write (mitad1 + "." + mitad2) ;
  12.  
  13. }

el parametro nota lo envio asi
Código HTML:
Ver original
  1. onblur="agregarPunto(this.value)"

todo bien con... mi drma es ahora para devolver ese valor al input por que si te fijas lo imprimo en el documento hasta ahora.

este es el input completo:
Código HTML:
Ver original
  1. <input maxlength="3" name="seleccion[]" onblur="agregarPunto(this.value)"  type="text" style= "width: 15%; " />

a ver si me puedes ayudar :)
  #8 (permalink)  
Antiguo 12/07/2011, 00:34
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: Como poner coma entre 2 numeros

buenas,
si lo quieres aplicar al mismo input, dale un ID, y la última línea de tu función que sea:

....
document.getElementById('el_inputText').value = mitad1 + "." + mitad2;
}

y si todo va bien, al salir de la caja de texto, debería de formatearla con el punto. De todas maneras, como consejo, acostúmbrate a asignar un ID a todo objeto que crees, lo uses o no, porque mil veces ocurre que en un principio no necesitas usar su ID, y luego ves que sí.

saludos.
  #9 (permalink)  
Antiguo 12/07/2011, 21:03
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Mira te explico:
resulta que el input como es creado dinamicamente se va a creando una array con el nombre seleccion[] donde el indice obviamente se va incrementando segun los registros que se muestren.
Haciendo eso que me dices de colocar un id al input se repeteria en cada uno de los nuevos que apareciere segun los registros. Aun asi probando tu solucion me formatea el numero con el punto pero al ingresar un numero en el input siguiente y quitarle el foco ese mismo numero se formatea, pero en el primer input...

el problema sigue estando en poder hacer la referencia a ese input dinamico ya que no se puede hacer asi tal cual document.formulario.seleccion[] ni con document.getElementByTagName('seleccion[]')...

HELP!
  #10 (permalink)  
Antiguo 13/07/2011, 03:43
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: Como poner coma entre 2 numeros

ok,

pero de la misma manera puedes asignar un ID dinámico a los inputs que vayas creando, dandole un ID distinto a cada uno, no? y de esa manera puedes apuntar al input con un getElementById...
  #11 (permalink)  
Antiguo 13/07/2011, 11:37
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

y como podria hacer eso que dices?
  #12 (permalink)  
Antiguo 13/07/2011, 21:43
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Código Javascript:
Ver original
  1. function agregarPunto(nota){
  2.  
  3. var miString = nota ;
  4. var mitad1,mitad2 ;
  5. var numero ;
  6. posicion_mitad = miString.length / 2 ;
  7.  
  8. mitad1 = miString.substring(0,posicion_mitad) ;
  9. mitad2 = miString.substring(posicion_mitad,miString.length) ;
  10.  
  11. for (i=0;i<document.form_notas.elements.length;i++)
  12.     if(document.form_notas.elements[i].type == "text"){
  13.     document.form_notas.elements[i].value= mitad1 + "." + mitad2;
  14.    
  15.     }
  16. }

logre hacer esta funcion pero tengo un pequeño problema de logica...
resulta que hago una consulta que me trae 2 registros lo que resulta en la impresion de 2 inputs. El caso es que al ingresar una nota en el primer input y sacarle el foco le integra el punto al numero, pero tambien lo copia en el segundo input, lo mismo al ingresar en el segundo input me integra la coma al numero pero tambien lo copia en el primer input...

algo me falta pero no se que puede ser!
  #13 (permalink)  
Antiguo 14/07/2011, 20:10
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Alguien que pueda ayudarme? :(
  #14 (permalink)  
Antiguo 15/07/2011, 01:17
Avatar de ceSharp  
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 495
Antigüedad: 16 años, 1 mes
Puntos: 66
Respuesta: Como poner coma entre 2 numeros

hola zero_axm,

he estado simulando tu función, y sí, evidentemente se te van a rellenar los dos inputs con el mismo valor, y si pones 200 inputs también, jejejeje.
con tu bucle FOR estás recorriendo todos los elementos del formulario, y a todos los elementos que sean de tipo TEXT les vas a dar el valor obtenido de la función. Así que eso es lo que te está pasando.

no es necesario que hagas un FOR. lo que debes hacer es enviar como parámetro a tu función el objeto entero --> onBlur="agregarPunto(this), para que javascript luego devuelva el valor al objeto mandado
cuando añadas el punto lo único que tienes que hacer es un:
nota.value = mitad1 + "." + mitad2;
--------------------------------
function agregarPunto(nota)
{
var miString = nota.value;
var mitad1,mitad2 ;
var numero ; //esta variable no la usas en ningún momento (creo)
posicion_mitad = miString.length / 2 ;
mitad1 = miString.substring(0,posicion_mitad) ;
mitad2 = miString.substring(posicion_mitad,miString.length) ;
nota.value= mitad1 + "." + mitad2;

}
-------------------------------


saludos.
  #15 (permalink)  
Antiguo 15/07/2011, 11:00
Avatar de zero_axm  
Fecha de Ingreso: julio-2011
Mensajes: 9
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Como poner coma entre 2 numeros

Maestro!

Muchas gracias ceSharp por invertir un poco de tu tiempo en ayudar a un compañero...

Es justo lo que necesitaba!

Saudos viejo ;)

Etiquetas: inputs, modificaciones
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 03:32.