Javascript 检查输入文本字段是否包含提交时的最小值

Javascript 检查输入文本字段是否包含提交时的最小值,javascript,jquery,Javascript,Jquery,我有一个非常简单的HTML网页表单 我获取数据并序列化为JSON(最终将发送到其他地方。但是,现在我使用console.log进行测试) 当用户填写表单,然后单击submit;我只想检查输入文本字段的值,并确保用户输入的数字至少高于0,而不是0 <div> <label>Age <input type="text" name="age"> </label>

我有一个非常简单的HTML网页表单

我获取数据并序列化为JSON(最终将发送到其他地方。但是,现在我使用
console.log
进行测试)

当用户填写表单,然后单击
submit
;我只想检查输入文本字段的
,并确保用户输入的数字至少高于
0
,而不是
0

        <div>
            <label>Age
                <input type="text" name="age">
            </label>
        </div>

简单验证数字输入。试试这个

$(“#提交”)。在(“单击”,函数(){
inputValue=$(“输入[name='age']”)val();
var num=parseInt(inputValue);
如果(isNaN(num)| num要实现这一点,我(或多或少)通常会这样做:

HTML

<form action="(action url)" id="form" method="post" onsubmit="return validateForm()">
    //form contents
</form>

//表格内容
JS

function validateForm() { // would like to check before below fires for serialize
    //var form = document.getElementById("form"), inputs = form.getElementsByTagName("input"),
    //If you use jQuery, it more preferred to write like this:
    var form = $('#form'), inputs = form.find('input'), input = null, flag = true;

    for(var i = 0, len = inputs.length; i < len; i++) {
        input = inputs[i];
        // if the value is not a valid number or it's less than or equal 0 
        if(isNaN(input.value) || +input.value < 0) {
            flag = false;
            input.focus();
            console.log("error!");
        }
        //do the break
        if (!flag) break;
    }
    if (flag) {
        var data = $(this).serializeFormJSON();
        console.log(data);
    }
    return flag;
}
函数validateForm(){//要在下面激发序列化之前进行检查
//var form=document.getElementById(“表单”),inputs=form.getElementsByTagName(“输入”),
//如果使用jQuery,则更倾向于这样编写:
var form=$('#form'),inputs=form.find('input'),input=null,flag=true;
对于(变量i=0,len=inputs.length;i
您从未调用过
validateForm()
。另外,
+input.value<0
应该使用
您可以包含更多HTML吗?此代码取决于是否存在id为“form”的表单,我们看不到。还有其他问题,但让我们从头开始。因此,这解决了大约一半的问题。谢谢!但是,表单仍然以任何一种方式提交;如果表单被视为无效,我不希望允许提交…使用return false,或preventDefault在输入编号无效时忽略提交操作。另一种方法可以替换按钮submit正常按钮并在表单有效时提交表单。
function validateForm() { // would like to check before below fires for serialize
    //var form = document.getElementById("form"), inputs = form.getElementsByTagName("input"),
    //If you use jQuery, it more preferred to write like this:
    var form = $('#form'), inputs = form.find('input'), input = null, flag = true;

    for(var i = 0, len = inputs.length; i < len; i++) {
        input = inputs[i];
        // if the value is not a valid number or it's less than or equal 0 
        if(isNaN(input.value) || +input.value < 0) {
            flag = false;
            input.focus();
            console.log("error!");
        }
        //do the break
        if (!flag) break;
    }
    if (flag) {
        var data = $(this).serializeFormJSON();
        console.log(data);
    }
    return flag;
}