Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将输入字段限制为只有两个小数点的数字_Javascript_Jquery - Fatal编程技术网

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您应该将链接作为答案发布。在删除之前注意到您的答案。工作完美:)