Javascript检查多个文本框的数字

时间:2011-09-30 18:06:38

标签: javascript validation

我正在检查一个文本框的数值,如下所示:

function validateNumeric() {
    var old = document.getElementById("tbNum").value;
    var new = old_val.replace(/^\s+|\s+$/g,"");
    var validChars = '0123456789'; 

    for(var i = 0; i < new.length; i++){ 
        if(validChars.indexOf(new.charAt(i)) == -1){
        alert('Please enter valid number');
        return false; 
        }
    }
    document.getElementById("tbNum").value = new;
    return true; 
}

我想使用相同的函数并检查需要数值的其他文本框的数值。如何传递tbID,tbDiscID以及上面的值,并在提交表单之前返回true。

2 个答案:

答案 0 :(得分:0)

我不确定tbIdtbDiscID的含义,但是要在纯JavaScript中执行此操作,您可以通过遍历JavaScript的arguments对象来概括此解决方案,该对象可让您通过在函数的任何可变数量的参数中。这有助于您获取所需的ID。您的新解决方案如下所示:

function validateNumeric() {
    for (var arg in arguments) {
        var id = arguments[arg];
        var old = document.getElementById(id).value;
        var new = old_val.replace(/^\s+|\s+$/g,"");
        var validChars = '0123456789'; 

        for(var i = 0; i < new.length; i++){ 
            if(validChars.indexOf(new.charAt(i)) == -1){
            alert('Please enter valid number');
            return false; 
            }
        }
        document.getElementById(id).value = new;
        return true;
    } 
}

然后调用它:

validateNumeric("myTextbox1", "myTextbox2", ..., "myTextboxN");

myTextBox1 ... myTextBoxN是您文本框的ID。

答案 1 :(得分:0)

使用函数参数,在不同元素上使用

validateNumeric(value) {

使用表单标记上的onsubmit参数来调用验证

<form name="myForm" action="dosomething.php" onsubmit="return validateForm()"

使用所有元素的调用编写验证函数

function validateForm() {
   if (!validateNumeric(document.getElementById("tbNum"))) {
      return false;
   }
   ...
   return true;

将是一种方式..

修改
忘记了validateForm方法中的检查