Javascript 如何将输入字段限制为只有两个小数点的数字
可能重复:Javascript 如何将输入字段限制为只有两个小数点的数字,javascript,jquery,Javascript,Jquery,可能重复: 我需要一个JS(jQuery)脚本,它可以帮助我将数字的输入限制为两个小数点 我已经尝试过了,它可以完美地将我的输入限制为浮点或整数。但我不明白如何把它限制在小数点后两位 我也看了很多其他的答案,但是没有一个能阻止用户在打字时输入超过两位数的数字 有什么建议吗?塔克斯 编辑:我的代码,如果有帮助的话 表格: <form method="post" id="split_form" action="?name=ajax&case=split_action&
我需要一个JS(jQuery)脚本,它可以帮助我将数字的输入限制为两个小数点 我已经尝试过了,它可以完美地将我的输入限制为浮点或整数。但我不明白如何把它限制在小数点后两位 我也看了很多其他的答案,但是没有一个能阻止用户在打字时输入超过两位数的数字 有什么建议吗?塔克斯 编辑:我的代码,如果有帮助的话 表格:
<form method="post" id="split_form"
action="?name=ajax&case=split_action&sid=' . $id . '"
onSubmit="return checkform(this);" >
<table class="default" cellpadding="0" cellspacing="0">
<tr><td><input class="numeric1" type="text" name="summ_1" value="" />
<tr><td><input class="numeric2" type="text" name="summ_2" value="" />
</table>
<input type="submit" class="submit" value="ok" />
</form>
JS脚本:
<script type="text/javascript" src="/js/jquery.numeric.js"></script>
<script language="JavaScript" type="text/javascript">
$(".numeric1").numeric();
$(".numeric2").numeric();
function checkform ( form ) {
var sum1 = form.summ_1.value;
var sum2 = form.summ_2.value;
var new_summ = parseFloat(sum1) + parseFloat(sum2);
var summ = parseFloat(' . $row[1]['summ'] . ');
if ( ( sum1 > 0 && sum2 > 0 ) && ( new_summ == summ ) ) {
return true;
} else {
return false ;
}
}
</script>
$(“.numeric1”).numeric();
$(“.numeric2”).numeric();
功能检查表(表格){
var sum1=form.sum_1.value;
var sum2=形式和值;
var new_sum=parseFloat(sum1)+parseFloat(sum2);
var summ=parseFloat('.$row[1]['summ']);
if((sum1>0&&sum2>0)&&(new_sum==sum)){
返回true;
}否则{
返回false;
}
}
在中,将处理数字条目。目前,他们总是被允许的。您可以修改此插件,使其仅在小数点不存在或距离小数点不超过两步时才允许使用数字:
var decimalIx = $(this).val().indexOf(decimal);
allow = decimalIx == -1 || decimalIx >= $(this).val().length - 2;
我本来打算让
-2
可配置,但正如Alex Ball在评论中指出的那样,.首先,为什么它们都有不同的类?你可以给他们两个相同的类,numeric
,然后调用$(“.numeric”).numeric()
。如果他们需要是不同的类,考虑和另一个类有共同的类。我不确定它们是否会与同一个类一起工作,所以我重命名它们。但这并不是问题所在。从数字上看,我刚刚删除了我的答案,如果答案在那里,就不要再邀请它了@AlexBall您应该将链接作为答案发布。在删除之前注意到您的答案。工作完美:)