Checking the length of a text field

I am trying to determine if the length of the text field is at least a certain length. here is my code:

<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>

when I click the submit button, nothing happens.

+5
source share
7 answers

Change the submit button to enter = "send". The form is never submitted, so the validation function is not called.

+4
source

The input type must be send

<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>
+1
source

, ( > =) (! =), " "

0

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

onsubmit . , console.log() , document.write().

0

:

  • document.write(),
  • form2 document. document.forms.form2, document.getElementById("t") .
  • " 4", " 4".
  • . <button type="submit"> <input type="submit" />
  • pattern=".{4}" required
0

, . 1) 2) document.write(). ( 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>​​​​

You were pretty close, but you can use some cleanup from this code (Note: I did not provide any).

0
source

You should also add the maxlength attribute for text input, this will help the user.

<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>
0
source

All Articles