代问如下:
<Script language="JavaScript">
<!--
function examine()
{
if(!theme()){return false;}
if(!cameraman()){return false;}
return ture;
}
function isbank(s)
{
var len=s.length;
var i;
for(i=0;i<len;i++)
{
if(s.chatAt(i)!=" ") return false;
}
return true;
}
function theme()
{
if(isbank(document.add.theme.value))
{
alert("主题的值里不能为空!");
document.add.theme.focus();
return false;
}
return ture;
}
function cameraman()
{
if(isbank(document.add.cameraman.value))
{
alert("摄影者的值不能为空!");
document.add.cameraman.focus();
return false;
}
return ture;
}
//--></Script>
<form action="AddNote" name="add" method="post" onSubmit="return examine()">
<input type="text" name="theme" size="15" onchange="theme()">
<input type="text" name="cameraman" onchange="cameraman()" size="15">
<input type="submit" name="save" value="保存" >
</form>问题是:每次按保存,如果文本theme为空值则在JavaScript的examine()函数中成功运行if(!theme()){return false;}语句,如果文本theme的值不为空,不管文本cameraman的值是否为空就直接跳转页面,不会去检查examine()函数中if(!cameraman()){return false;}语句
还有是不管examine()函数中最后一条是返回true,还是返回false,按保存后,如果如果文本theme的值不为空,照样跳转
<Script language="JavaScript">
<!--
function examine()
{
if(!theme()){return false;}
if(!cameraman()){return false;}
return ture;
}
function isbank(s)
{
var len=s.length;
var i;
for(i=0;i<len;i++)
{
if(s.chatAt(i)!=" ") return false;
}
return true;
}
function theme()
{
if(isbank(document.add.theme.value))
{
alert("主题的值里不能为空!");
document.add.theme.focus();
return false;
}
return ture;
}
function cameraman()
{
if(isbank(document.add.cameraman.value))
{
alert("摄影者的值不能为空!");
document.add.cameraman.focus();
return false;
}
return ture;
}
//--></Script>
<form action="AddNote" name="add" method="post" onSubmit="return examine()">
<input type="text" name="theme" size="15" onchange="theme()">
<input type="text" name="cameraman" onchange="cameraman()" size="15">
<input type="submit" name="save" value="保存" >
</form>问题是:每次按保存,如果文本theme为空值则在JavaScript的examine()函数中成功运行if(!theme()){return false;}语句,如果文本theme的值不为空,不管文本cameraman的值是否为空就直接跳转页面,不会去检查examine()函数中if(!cameraman()){return false;}语句
还有是不管examine()函数中最后一条是返回true,还是返回false,按保存后,如果如果文本theme的值不为空,照样跳转
<Script language="JavaScript">
<!--
function examine(){
if(!ca()){return false;}
if(!cb()){return false;}
return true;
}
function isbank(s){
return s.replace(/ /g,"").length>0?true:false;
}
function ca(){
if(!isbank(document.add.theme.value)){
alert("主题的值里不能为空!");
document.add.theme.focus();
return false;
}else{
return true;
}
}
function cb(){
if(!isbank(document.add.cameraman.value)){
alert("摄影者的值不能为空!");
document.add.cameraman.focus();
return false;
}else{
return true;
}
}
//--></Script>
<form action="AddNote" name="add" method="post" onSubmit="return examine()">
<input type="text" name="theme" size="15" onchange="ca()">
<input type="text" name="cameraman" onchange="cb()" size="15">
<input type="submit" name="save" value="保存" >
</form>
{
var len=s.length;
var i;
for(i=0;i<len;i++)
{
if(s.chatAt(i)!=" ") return false;
}
return true;
}
是多余的,直接if(document.add.cameraman.value==""){}多方便