javascript - 如何验证动态数据的小数位?

标签 javascript

我使用循环生成了以下类型的文本区域字段:

<textarea id="txta_<?=$sno?>" value="<?php echo $sno; ?>"
onkeyup="validateDecimal(<?php echo $sno;?>,<?php echo $decimal_value; ?>)"
onkeypress="return isNumberKey(<?php echo $sno;?>,event)"
name="txta_<?=$sno?>"><?=$row->parameter_result?></textarea>

为了更加简化,文本字段将是这样的:

<form action="index.php" method="post" name="adminForm" >
<textarea id="txta_1" value="<?php echo $sno; ?>" onkeyup="validateDecimal(1,3)" onkeypress="return isNumberKey(<?php echo $sno;?>,event)" name="txta_2" style="width: 185px; height: 22px;"><?=$row->parameter_result?></textarea>
<br />
<textarea id="txta_2" value="<?php echo $sno; ?>" onkeyup="validateDecimal(2,2)" onkeypress="return isNumberKey(<?php echo $sno;?>,event)" name="txta_2" style="width: 185px; height: 22px;"><?=$row->parameter_result?></textarea>
<br />
<textarea id="txta_3" value="<?php echo $sno; ?>" onkeyup="validateDecimal(3,1)" onkeypress="return isNumberKey(<?php echo $sno;?>,event)" name="txta_3" style="width: 185px; height: 22px;"><?=$row->parameter_result?></textarea>
</form>

我需要允许用户输入最多允许的小数位的数字。小数位来自数据库。 因此,txta_1 允许的小数位数可能与 txta_2 不同。 也就是说,txta_1 最多可以有 3 位小数,txta_2 最多可以有 2 位小数,或者可能是其他数字,具体取决于数据库中的值。

我已经尝试过正则表达式,但无法找到解决方案。如何做到这一点?

最佳答案

Javascript 对于这个问题来说会容易得多。试试这个:

<script type="text/javascript">
function validateDecimal(sidd,decimalvalue)    {
    var sid = sidd;
    var decimal = decimalvalue;
    var txtdata = document.getElementById('txta_'+sid).value;   
    var s = txtdata.split('.');

      if (s[1].length > decimal) {
        alert( "Result should be upto " + decimal +" decimal number." );
         var textdata = parseFloat(txtdata).toFixed(decimal);
         document.getElementById('txta_'+sid).value = textdata;
      }
}
</script>

查看演示:Codepad>>

关于javascript - 如何验证动态数据的小数位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16732525/

相关文章:

javascript - jQuery表单插件和PHP文件上传教程问题

Javascript切换菜单折叠问题

javascript - 单击事件后获取子元素的位置

php - ajax回调不起作用

在 Internet Explorer 中有效但在 Firefox 中无效的 Javascript/AJAX 函数

javascript - nodejs mongoose 删除命中错误 : Can't set headers after they are sent

javascript - CoffeeScript 窗口

javascript - 运行 gulp 命令时出错

javascript - 在同一个 Service Worker 中处理 service-worker.js 有什么影响吗?

javascript - node.js v.0.8 缺少配置文件