JavaScript - Html + Javascript cambiar punto por coma

 
Vista:
sin imagen de perfil
Val: 19
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Nestor (12 intervenciones) el 07/01/2019 02:03:49
Hola, necesito que el usuario, al ingresar datos en un campo numerico, al presionar el punto del teclado numerico, lo cambie por una coma, que es nuestro separador decimal.

Pero tiene que ser si o si del lado del cliente

Existe alguna manera simple de hacerlo?

Saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Xavi
Val: 1.807
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Xavi (68 intervenciones) el 07/01/2019 11:16:04
Una manera muy simple es reemplazando la cadena...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<input type="text" class="separadorDecimal">
<input type="text" class="separadorDecimal">
 
<script>
var separadorDecimal=document.querySelectorAll(".separadorDecimal");
for(e of separadorDecimal)
{
    e.addEventListener("keyup",entrada,false);
}
 
function entrada(evt)
{
    var res=evt.target.value.replace(/\./g,",");
    evt.path[0].value=res;
}
</script>

No se si necesitas limitar el numero de comas...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Nestor (12 intervenciones) el 07/01/2019 12:55:16
Xavi, funciona excelente!!!! gracias por tu respuesta, sencilla y precisa!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 19
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Nestor (12 intervenciones) el 07/01/2019 13:23:37
Xavi, me apure a responder JA, te comento que funciona bien en chrome, pero en internet explorer y firefox no funciona, no se que puede
estar pasando

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Xavi
Val: 1.807
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Xavi (68 intervenciones) el 07/01/2019 19:31:21
No, no, seguro que en Internet Explorer no funciona... pero en Firefox... que versión de Firefox utilizas?

Creo que el problema puede estar en la linea 6... prueba con este código:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<input type="text" class="separadorDecimal">
<input type="text" class="separadorDecimal">
 
<script>
var separadorDecimal=document.querySelectorAll(".separadorDecimal");
for(var i=0;i<separadorDecimal.length;i++)
{
    separadorDecimal[i].addEventListener("keyup",entrada,false);
}
 
function entrada(evt)
{
    var res=evt.target.value.replace(/\./g,",");
    evt.path[0].value=res;
}
</script>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de ScriptShow
Val: 2.019
Plata
Ha mantenido su posición en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por ScriptShow (692 intervenciones) el 07/01/2019 22:30:13
Saludos Nestor,

un ejemplo sencillo y casi 100% compatible:

1
2
3
4
5
6
7
8
9
<input title="Codigo de Socio" name="tnumsoc" maxlength="8" style='width:100px' class="separadorDecimal" />
 
<script>
var separadorDecimal=document.querySelectorAll(".separadorDecimal");
for (var i=0; i < separadorDecimal.length; i++)
{
separadorDecimal[i].onkeyup=function(){this.value=this.value.replace(/\./g, ',');}
}
</script>

Se puede simplificar aún más. Veamos:

1
2
3
4
5
6
7
<input title="Codigo de Socio" name="tnumsoc" maxlength="8" style='width:100px' class="separadorDecimal" onkeyup="test(this)" />
 
<script>
function test(e) {
e.value=e.value.replace(/\./g, ',')
}
</script>

Espero sea útil.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 19
Ha aumentado su posición en 3 puestos en JavaScript (en relación al último mes)
Gráfica de JavaScript

Html + Javascript cambiar punto por coma

Publicado por Nestor (12 intervenciones) el 08/01/2019 02:24:29
Gracias xavi y ScriptShow por sus respuestas, el ejemplo de ScriptShow funciona en todos los navegadores, de todos modos muchas gracias a ambos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar