在js方法体里:
alert(1);
if(message != "ok")
{alert(message);form1.sendTo.focus();return false;}调用此方法,如果message值不等于ok可以进入if里面,在弹出1后再次弹出message值
可是去掉alert(1);这行代码时,当message != ok时 却不可以进入if里面 ,message值弹不出来....
这样的问题都有 .....(试验了很多次了 !)望高手解答
alert(1);
if(message != "ok")
{alert(message);form1.sendTo.focus();return false;}调用此方法,如果message值不等于ok可以进入if里面,在弹出1后再次弹出message值
可是去掉alert(1);这行代码时,当message != ok时 却不可以进入if里面 ,message值弹不出来....
这样的问题都有 .....(试验了很多次了 !)望高手解答
function sendto(){
var sendtoValue = $("tsendGreetings.sendTo").value;
menu.check(sendtoValue,Callback);
}
function sendtoes(){
var sendtoValue = $("tsendGreetings.sendTo").value;
menu.check(sendtoValue,Callback);
}
function Callback(sendtos){
var content1 = "请填写收卡昵称!";
var content2 = "请输入正确的格式!";
var content3 = "请填写收卡人邮箱!";
var content4 = "请输入正确的邮箱!";
var content5 = "请填写收卡人信息!"
if(sendtos == "failed1")
{document.getElementById("replace").innerHTML=content1;message = content1 ;return false;}
if(sendtos == "failed2")
{document.getElementById("replace").innerHTML=content2;message = content2 ;return false;}
if(sendtos == "failed3")
{document.getElementById("replace").innerHTML=content3;message = content3 ;return false;}
if(sendtos == "failed4")
{ document.getElementById("replace").innerHTML=content4;message = content4 ;return false;}
if(sendtos == "failed5")
{document.getElementById("replace").innerHTML=content5;message = content5 ;return false;}
if(sendtos == "success")
{document.getElementById("replace").innerHTML="";message = "ok";}
}
function check(form)
{
sname=form1.sendFrom.value;
semail=form1.sendFromEmail.value;
sendto = form1.sendTo.value;
re=/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$/i;
if(sname==''|| sname == ' ' || sname == ' '|| sname == ' '|| sname == ' '|| sname == ' '){alert('请输入发卡人的姓名');form1.sendFrom.focus();return false;}
if(semail=='' || semail==' ' || semail==' ' || semail==' ' || semail==' ' || semail==' '){alert('请输入发卡人的EMAIL');form1.sendFromEmail.focus();return false;}
if(semail.search(re)==-1) {alert("请输入正确的发卡人email");form1.sendFromEmail.focus();return false;}
if (sname.indexOf("~") >=0 ){alert("不能包含~字符");form1.sendFrom.focus();return false;}
sendtoes();//
// alert(12);
if(message != "ok")
{form1.sendTo.focus();return false;}
}方法稍微改了下 ,不过如果有alert(12);这行代码是 sendTo什么都不填 还是不会进去if里面
如果去掉alert(12); sendTo不填就会进if里面去 之前提问的时候sendTo即使填了错误值也不会进去if里面(去掉alert方法)
还有check方法里面不可以调用sendto方法,把sendto修改sendtoes又可以调用了(是不是因为该方法里面有 sendto = form1.sendTo.value;的原因啊)
{
//do sth
}
你有变量定义为sendto 了
function check(form)
{
sname=form1.sendFrom.value;
semail=form1.sendFromEmail.value;
sendto = form1.sendTo.value;
sendtoes();//
}
sendto = form1.sendTo.value;
我加了几个alert alert(22);
sendtoes();
alert(33);
if(message != "ok"){
//form1.sendTo.focus();
alert(44);
return false;
}加了alert(33); 然后让message不等于ok 能进if里面弹出alert(44)
但是去掉alert(33); 同样让message不等于ok 结果不能进if里面 什么原因啊
这个函数的意思是 检查 第一个参数 ,在检查结束之后 会执行 第二个参数所对应的函数也就是Callback 函数sendtoes();//
// alert(12);
if(message != "ok")
{form1.sendTo.focus();return false;}
你不写 alert 的时候 ,很可能 menu.check(sendtoValue,Callback) 这个函数没运行完也就是还没运行到 Callback ,所以 if(message != "ok")
{form1.sendTo.focus();return false;}就会 有问题, 因为你alert 了 时间会延迟, 就会执行到 Callback 函数