I have a problem must number mask in text and need to use the event onchange of that text. At the moment he does not allow me to use the event. they can help me?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Hi!
You should use a callback on the mask:
function myhandler(mask) {
// You can read mask.control for the input reference
}
mask.updateFunction = myhandler;
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Gracias Luis Fernando.
Espero no te moleste que te consulte en español.
No te entendi..
Disculpame pero es que estoy empezando a utilizar javascriptools_2.0.4 y javascript en general y no soy muy agil.
Mi problema es el siguiente:
tengo una tabla donde se despliegan los siguientes datos: articulo, proveedor y precio. El precio lo despliego en un text al cual le aplico una number mask. Yo necesito que cada ves que se cambie el value de los campos precio, se actualice la bd; para esto es que necesito utilizar el onchange de los texts. No se porque razon cuando aplico la mascaras no puedo utilizar este evento.
a continuacion te muestro la funcion que crea los ojetos mask para los precios, se que esta mal porque estoy creando muchos objetos con el mismo nombre.
function setupMask() {
//Set up the NumberMasks
var decimalSeparator = ",";
var groupSeparator = ".";
var tbl = document.getElementById("tblSupplier");
var rows = tbl.rows.length;
for(i=0; i < rows; i++){
if (document.getElementById( tbl.rows[i].id ) != null)
{
text = document.getElementById("precio_" + tbl.rows[i].id );
var numParser = new NumberParser(0, decimalSeparator, groupSeparator, true);
numParser.currencySymbol = "¢"
numParser.useCurrency = true;
numParser.negativeParenthesis = true;
numParser.currencyInside = true;
var numMask = new NumberMask(numParser, text.id, 15,true);
numMask.allowNegative = false;
numMask.update();
}
}
}
Espero averme explicado bien, y que me puedas sugerir algo.
De antemano gracias.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Por suerte te puedo contestar en español también ;-)
En JavaScript, una función es un tipo de datos tal cual un número ó una string. Entonces es possible assignar a una variable una función. Exemplo: var a = function(x) { return x * 2; }; alert(a(3));
Lo que se llama "callback" en las máscaras son funciónes que són llamadas en ciertos eventos.
En el caso, hagas: numMask.updateFunction = miFuncion; y, antes del setupMask, declare ella:
function miFuncion(mask) {
//Acá es el código para cuando la máscara cambie.
}
Leé la documentación de la API, hay otros (keyPressFunction, keyDownFunction, ...)
Está claro ahora?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I think you're doing something wrong there...
You should set the mask once, not every time the field changes...
The new InputMask(...) code sets up a mask and apply event handlers on the field. By instantiatind one on each change event, you are multiplying the event listeners by the number of times the field changed...
You can:
1) Write a onload event listener to the page and set up the masks (as in the examples)
2) Write a JavaScript tag just after the field, like:
<input name="x" ...>
<script>new InputMask("UUU-####", "x");</script>
Hope you get it...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
hello!
I have a problem must number mask in text and need to use the event onchange of that text. At the moment he does not allow me to use the event. they can help me?
Hi!
You should use a callback on the mask:
function myhandler(mask) {
// You can read mask.control for the input reference
}
mask.updateFunction = myhandler;
Gracias Luis Fernando.
Espero no te moleste que te consulte en español.
No te entendi..
Disculpame pero es que estoy empezando a utilizar javascriptools_2.0.4 y javascript en general y no soy muy agil.
Mi problema es el siguiente:
tengo una tabla donde se despliegan los siguientes datos: articulo, proveedor y precio. El precio lo despliego en un text al cual le aplico una number mask. Yo necesito que cada ves que se cambie el value de los campos precio, se actualice la bd; para esto es que necesito utilizar el onchange de los texts. No se porque razon cuando aplico la mascaras no puedo utilizar este evento.
a continuacion te muestro la funcion que crea los ojetos mask para los precios, se que esta mal porque estoy creando muchos objetos con el mismo nombre.
function setupMask() {
//Set up the NumberMasks
var decimalSeparator = ",";
var groupSeparator = ".";
var tbl = document.getElementById("tblSupplier");
var rows = tbl.rows.length;
for(i=0; i < rows; i++){
if (document.getElementById( tbl.rows[i].id ) != null)
{
text = document.getElementById("precio_" + tbl.rows[i].id );
var numParser = new NumberParser(0, decimalSeparator, groupSeparator, true);
numParser.currencySymbol = "¢"
numParser.useCurrency = true;
numParser.negativeParenthesis = true;
numParser.currencyInside = true;
var numMask = new NumberMask(numParser, text.id, 15,true);
numMask.allowNegative = false;
numMask.update();
}
}
}
Espero averme explicado bien, y que me puedas sugerir algo.
De antemano gracias.
Por suerte te puedo contestar en español también ;-)
En JavaScript, una función es un tipo de datos tal cual un número ó una string. Entonces es possible assignar a una variable una función. Exemplo: var a = function(x) { return x * 2; }; alert(a(3));
Lo que se llama "callback" en las máscaras son funciónes que són llamadas en ciertos eventos.
En el caso, hagas: numMask.updateFunction = miFuncion; y, antes del setupMask, declare ella:
function miFuncion(mask) {
//Acá es el código para cuando la máscara cambie.
}
Leé la documentación de la API, hay otros (keyPressFunction, keyDownFunction, ...)
Está claro ahora?
Exelente! ya te entendí.
Muy amable gracias.
pura vida!
Debtor! This helped me very! It functioned using callback in onchange! Thanks!
var mascaraPlaca = function (mascara) {
mascara = new InputMask("UUU-####", "placa");
return customMask;
}
<input name="test" onchange="customMask.updateFunction = mascaraPlaca (customMask);">
The Function must be declared before input.
I think you're doing something wrong there...
You should set the mask once, not every time the field changes...
The new InputMask(...) code sets up a mask and apply event handlers on the field. By instantiatind one on each change event, you are multiplying the event listeners by the number of times the field changed...
You can:
1) Write a onload event listener to the page and set up the masks (as in the examples)
2) Write a JavaScript tag just after the field, like:
<input name="x" ...>
<script>new InputMask("UUU-####", "x");</script>
Hope you get it...