<input type="text" name="amount1" id="amount1" class="num_fld Amt" onkeypress="return check_digit(event,this,8,2);" size="9" value="" maxlength="8" style="text-align:right;" />
Poniższa funkcja ograniczy dziesiętne zgodnie z potrzebą miejsc dziesiętnych, a także ograniczyć więcej t han jedna kropka
function check_digit(e,obj,intsize,deczize) {
var keycode;
if (window.event) keycode = window.event.keyCode;
else if (e) { keycode = e.which; }
else { return true; }
var fieldval= (obj.value),
dots = fieldval.split(".").length;
if(keycode == 46) {
return dots <= 1;
}
if(keycode == 8 || keycode == 9 || keycode == 46 || keycode == 13) {
// back space, tab, delete, enter
return true;
}
if((keycode>=32 && keycode <=45) || keycode==47 || (keycode>=58 && keycode<=127)) {
return false;
}
if(fieldval == "0" && keycode == 48) {
return false;
}
if(fieldval.indexOf(".") != -1) {
if(keycode == 46) {
return false;
}
var splitfield = fieldval.split(".");
if(splitfield[1].length >= deczize && keycode != 8 && keycode != 0)
return false;
}else if(fieldval.length >= intsize && keycode != 46) {
return false;
}else {
return true;
}
}
}
Dlaczego chcesz używać jQuery? Możesz zrobić to samo za pomocą "maxlenght = 2" w html ... Następnie, jeśli chcesz mieć pewność, że użytkownik może wstawiać tylko miejsca po przecinku, możesz utworzyć funkcję o nazwie zdarzenia "onkeypress" – AleVale94
Wygląda na to, że chcesz potwierdzić pole pieniędzy. Może to pomoże: http://javascriptbymallik.blogspot.com/2009/08/how-to-check-two-decimal-validation-in.html – Tim