onsubmit =“return formValidate():”如果表单提交也为false

时间:2014-01-16 08:51:41

标签: javascript html forms

这是一个example.html文件

<form name="test1" onsubmit="return formValidate();" action="test.html" method="post">
<input type="text" name="name"/>
<input type="submit" value ="Submit"/>

这是一个html文件的代码,其中有一个文本字段和一个提交按钮 下面的代码是test.html的代码,其中表单在成功验证后继续进行。

<body>
    <p>hii </p>
</body>

我验证表单的javascript函数如下:formValidate.js

function formValidate(){
    var uname=document.test1.name; 
    if(alpha(uname))
    {
    }
    return false;
}
function alpha(uname){
    var pattern=/(?![0-9]*$)[a-zA-Z0-9]+$/;
    if(uname.value.match(pattern))
    {
        return true;
    }
    else
    {
        alert("Invalid input: only numeric not accepted");
        uname.focus();
        return false;
    }
}

这是我的验证码,如果它返回false,它应该抛出一条警告消息,说明输入无效。这工作正常。但是当它返回false时我希望表单不会被提交到下一页。 我该怎么做?

3 个答案:

答案 0 :(得分:0)

试试这个

<form name="test1" action="test.html" methos="post"  onsubmit="return formValidate();">
<input type="text" name="name"/>
<input type="submit" value ="Submit"/>
</form>


function formValidate()
{
    var uname=document.test1.name; 
     var pattern=/(?![0-9]*$)[a-zA-Z0-9]+$/;
    if(uname.value.match(pattern))
    {
        return true;
    }
    else
    {
        alert("Invalid input: only numeric not accepted);
        uname.focus();
        return false;
    }
}

答案 1 :(得分:0)

添加到onsubmit事件:

<form onsubmit="return formValidate(event);"

您的代码中存在语法错误。我修好了他们,试试这个:

function formValidate(e){
    var uname = document.test1.name;// fix - to =

    if(alpha(uname)) {
        //some code here?
    } else {
        e.preventDefault();
        return false;
    }

}

function alpha(uname){
    var pattern = /(?![0-9]*$)[a-zA-Z0-9]+$/;//remove *
     if(uname.value.match(pattern)) {
        return true;
     } else {
         alert("Invalid input: only numeric not accepted);
         uname.focus();
         return false;
     }
 }

答案 2 :(得分:0)

   var uname = document.getElementsByName('name'); 

您将获得数组 uname,其唯一成员位于位置 [0]。
     if (alpha(uname[0]))
       {
            return true;
       }else{
            return false;
       }
     

等等......它有效!