JSP页面内的JavaScript函数无法正常工作

时间:2018-01-15 10:42:42

标签: javascript jsp

我在JSP页面中使用Javascript函数进行输入字段验证。 javacsript函数无法正常工作。

我在javacsript函数中使用了多个if条件。 即使我将这些字段留空,控件也会移至下一页。

我无法使用普通的HTML页面,因为我会在此页面上进行更多处理,这就是我使用JSP的原因。

输入字段验证无效。 我甚至试图检索元素Id,但代码仍无效。

以下是我的代码: -

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style>

</style>

<title>First Page</title>
<script language="javascript">
function required()  
{  
var empt = document.forms["form1"]["Iname"].value;
var empt1 = document.forms["form1"]["Iemail"].value;
if (empt == "")  
{  
alert("Please input a Value in name field");  
return false;  
}  

if (empt1 == "")  
{  
alert("Please input a Value in email field");  
return false;  
} 

if(empt1 != "")
{
    var x = document.forms["form1"]["Iemail"].value;
    var atpos = x.indexOf("@");
    var dotpos = x.lastIndexOf(".");
    if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
       alert("Not a valid e-mail address");
        return false;
} 


else
    {
    return true;
    }

} 


</script>
</head>

<body>


 <form  name ="form1" action="Insert1"  OnSubmit="return required()"  method="post" >
   Name:   <input type="text" name="Iname"> <br/>

   Email:    <input type="text" name="Iemail"> <br/><br/>

   <INPUT type = "submit" name="Submit" value = "Insert User"  />

</form> 

<br> <br/> <br/> 

</body>
</html>

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:0)

您错过了Javascript函数中的结束括号。
使用适当的缩进来避免这些错误

function required()  
{  
        var empt = document.forms["form1"]["Iname"].value;
        var empt1 = document.forms["form1"]["Iemail"].value;
        if (empt == "")  
        {  
            alert("Please input a Value in name field");  
            return false;  
        }  
        if (empt1 == "")  
        {  
            alert("Please input a Value in email field");  
            return false;  
        } 
        if(empt1 != "")
        {
            var x = document.forms["form1"]["Iemail"].value;
            var atpos = x.indexOf("@");
            var dotpos = x.lastIndexOf(".");
            if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length) {
                alert("Not a valid e-mail address");
                return false;
            } 
            else
            {
                return true;
            }
        }
}