检查文本字段值的长度

时间:2012-04-18 19:51:58

标签: javascript

我试图查看文本字段长度是否至少为一定长度。这是我的代码:

<form name="form2" id="form2" onsubmit="return validate()">
length 4: <input type="text" name = "t" id="t" />
<input type="button" name="submit" value="submit" />
</form>

<script>
function validate() {
    document.write("good");
    submitFlag = true;
    if(document.form2.t.value.length!=4){
        submitFlag=false;
        alert("ivalid length - 4 characters needed!");
    }
    return submitFlag;
}
</script>

当我点击提交时,没有任何反应。

7 个答案:

答案 0 :(得分:5)

将提交按钮更改为type =“submit”。表单永远不会被提交,因此不会调用validate函数。

答案 1 :(得分:1)

输入类型需要“提交”

<form name="form2" id="form2" onsubmit="return validate()">
   length 4: <input type="text" name = "t" id="t" />
    <input type="submit" name="submit" value="submit" />  <!--INPUT TYPE MUST BE SUBMIT -->
    </form>

    <script>
    function validate() {
        document.write("good");
        submitFlag = true;
        if(document.form2.t.value.length!=4){
            submitFlag=false;
            alert("ivalid length - 4 characters needed!");
        }
        return submitFlag;
    }
</script>

答案 2 :(得分:0)

如果你想要“至少一定的长度”,你可能想要大于或等于(&gt; =),而不是不等于(!=)

答案 3 :(得分:0)

您的按钮应为

<input type="submit" name="submit" value="submit" />

否则不会发生onsubmit事件。另外,使用console.log()进行调试,而不是document.write()

答案 4 :(得分:0)

我发现了各种错误:

  • 不使用document.write(),它会覆盖当前打开的文档
  • form2不属于document。您可以使用document.forms.form2,但document.getElementById("t")更简单
  • 您的表达式不检查“至少4”,它会检查“正好4”。
  • 您的按钮不会提交任何内容。将其更改为<button type="submit"><input type="submit" />
  • 您可以为输入指定pattern=".{4}"或为其指定required属性

答案 5 :(得分:0)

你有几个问题。 1)您需要将输入设置为提交按钮,2)您需要删除document.write()声明。将您的代码更改为以下(or see this jsFiddle):

<form name="form2" id="form2" onsubmit="return validate()">
length 4: <input type="text" name = "t" id="t" />
<input type="submit" name="submit" value="submit" />
</form>

<script>
function validate() {
    submitFlag = true;
    if(document.form2.t.value.length!=4){
        submitFlag=false;
        alert("ivalid length - 4 characters needed!");
    }
    return submitFlag;
}
</script>​​​​

你非常接近,但你可以对该代码进行一些清理(注意:我没有提供任何代码)。

答案 6 :(得分:0)

您还应该为文本输入添加maxlength属性,它将帮助用户。

<form name="form2" id="form2" onsubmit="return validate();">
    <input type="text" name="t" id="t" maxlength="4"/>
    <input type="submit" name="submit" value="submit"/>
</form>

<script type="text/javascript">
    function validate()
    {
        if ( document.getElementById("t").value.length != 4 )
        {
            alert( "Invalid length, must be 4 characters" );
            return false;
        }   
        return true;
    }
</script>