Javascript输入长度验证onsubmit,无论如何提交

时间:2017-10-07 21:39:12

标签: javascript validation input onsubmit

我尝试验证用户输入并检查值的长度,如果它小于x,那么它应该alert("..")。我把这些代码和我在这里和那里找到的一些代码一起抓住了,我尝试了很多东西,但没有任何效果。它总是提交。 如果我写

<form ... onsubmit="false">..</form> 

它无论如何都会提交,但它不应该?

这是我的代码段,我希望有人可以帮助我。

<form name="form" action="go.php" id="form" onsubmit="return validate('text',5)">
    Text: <input type="text" name="text" id="text" />
    <input type="submit" name="submit" value="submit" />
</form>

<script>
    function validate(input,length) {
        submit = true;
        var elemlength = document.getElementbyId(input).value.length;
        alert(":" + elemlength);
        if(elemlength < length){
            submit=false;
            alert("ivalid length");
        }
        return submit;
    }
</script>

2 个答案:

答案 0 :(得分:0)

我认为你只是输入错误document.getElementById而不是document.getElementbyId

&#13;
&#13;
<form name="form" id="form" onsubmit="return validate('text',5)">
    Text: <input type="text" name="text" id="text" />
    <input type="submit" name="submit" value="submit" />
</form>

<script>
    function validate(input,length) {
        submit = true;
        var elemlength = document.getElementById(input).value.length;
        alert(":" + elemlength);
        if(elemlength < length){
            submit=false;
            alert("ivalid length");
        }
        
        return submit;
    }
</script>
&#13;
&#13;
&#13;

如果您想阻止表单提交,您的代码应该像<form ... onsubmit="return false">..</form>

一样

答案 1 :(得分:-1)

"use strict";

let button = document.querySelector('#button');
let input = document.querySelector('#text');
let minLength = 5;

button.addEventListener('click', validate);

function validate(event) {
    if (input.value.length < minLength) {
        event.preventDefault();
        alert('Input text is smaller then ' + minLength);
    }
}
<form name="form" action="go.php" id="form">
    Text: <input type="text" name="text" id="text" />
    <input type="submit" name="submit" value="submit" id ="button"/>
</form>