日期:2014-05-18  浏览次数:20801 次

在JSP页面中如何调用脚本语言写的函数
为什么没有一个人可以解决这个难题,帮帮忙吧
我在一个页面里也写了一个函数,是用来检测表单的,如下:
<SCRIPT   language=JavaScript>

function   isEmpty(str)
{
if((str==null)||(str.length==0))
return   true;
else   return(false);
}
function   isEmail(theStr)
{
var   atIndex=theStr.indexOf( '@ ');
var   dotIndex=theStr.indexOf( '. ',atIndex);
var   flg=true;
theSub=theStr.subString(0,dotIndex+1);
if((atIndex <1)||(atIndex!=theStr.lastIndexof( '@ '))||(dotIndex <atIndex+2)||(theStr.length <=theSub.length))
{flag=false;}
else   {flag=true;}
return(flag);
}
function   isEqual(str1,str2)
{
char   a[]=str1.toCharArray();
char   b[]=str2.toCharArray();
if(a.length==b.length)
{
for(i=0;i <a.length;i++)
{
if(a[i].compareTo(b[i])!=0)   return(false);
}
return(ture);
}
else   return(false);
}
function   checkForm(Frm)
{
var   flag=true;
if(isEmpty(Frm.name.value))
{
alert( "请老师,输入您的姓名 ");
Frmn.ame.focus();
flag=false;
}
else   if(isEmpty(Frm.mima1.value))
{
alert( "请老师,输入您的登陆密码 ");
Frm.mima1.focus();
flag=false;
}
else   if(isEmpty(Frm.mima2.value))
{
alert( "请老师,再次输入您的登陆密码 ");
Frm.mima2.focus();
flag=false;
}
else   if(!isEqual(Frm.mima1.value,Frm.mima2.value))
{
alert( "请注意,两次输入的密码必须一样 ");
Frm.mima1.focus();
flag=false;
}
else   if(isEmpty(Frm.shenfen.value))
{
alert( "请老师,输入您的身份证号码 ");
Frm.shenfen.focus();
flag=false;
}
else   if(!isEmpty(Frm.email.value)
{
if(!isEmail(Frm.email.value))
{
alert( "请输入正确的邮箱地址 ");
Frm.email.focus();
flag=false;
}
}
return   flag;
}

</SCRIPT>
<script   language= "javascript "   type= "text/javascript "   src= "http://js.users.51.la/849031.js "> </script>
以上代码不用细看,只是用来检查表单的,我在表单的第一句中,如下:
<form   name= "tzhu "   method= "post "   action= "Tzhuxian.jsp "     onsubmit= "return   checkForm(this) "   >
但是却不能调用函数,和上面的问题是一样的

------解决方案--------------------
看看这个你就知道了 http://www.haolla.com/girls/index.asp
------解决方案--------------------
if(isEmpty(Frm.name.value))我有个疑问哈(对js不是很熟悉)这里边的Frm.name不就是表单的名字吗?我猜你的这个name是一个文本框吧?你试对这个文本框换一个名字吧,不要用 "name ".试试看。能不能调用函数是很容易测试的啊在这个函数第一行里就用alert( "aaaa ")显示个信息,看看有没有显示啊,有就表示调用了函数了啊,没有就表示没有啊,如果调用了,但是函数出错的话在状态栏有个表示的啊
------解决方案--------------------
<form name= "frm " method= "post " action= "Tzhuxian.jsp " onsubmit= "return checkForm(this) " >
这样试试
------解决方案--------------------
1、检查里面你的脚本有没有错误;
2、尽量不要采用onsubmit事件,你可以通过一个按钮的onClick= "if(checkForm()) submit; "事件来完成同样的事情会更加有效。