Javascript 添加函数是禁用js文件中的其他函数
我在js文件中有这个函数,一切正常:Javascript 添加函数是禁用js文件中的其他函数,javascript,Javascript,我在js文件中有这个函数,一切正常: function check_acco_form() { var name=$("#name").val(); var institution=$("#institution").val(); var year=$("#year").val(); //PNR Data var pnr1=$("#pnr1").val(); var pnr2=$("#pnr2").val(); // A
function check_acco_form()
{
var name=$("#name").val();
var institution=$("#institution").val();
var year=$("#year").val();
//PNR Data
var pnr1=$("#pnr1").val();
var pnr2=$("#pnr2").val();
// Arrival date info
var arr_year=$("#arr_year").val();
var arr_month=$("#arr_month").val();
var arr_date=$("#arr_date").val();
//Departure date info
var dep_year=$("#dep_year").val();
var dep_month=$("#dep_month").val();
var dep_date=$("#dep_date").val();
var numericExpression = /^[0-9]+$/;
//Name, institution and year must not be empty
if(name=="" || institution=="" || year=="")
{
alert("One or more fields are empty.");
return;
}
//PNR must be all numbers
if(!pnr1.match(numericExpression) || !pnr2.match(numericExpression))
{
alert("A PNR number consists of 10 digits only. Please enter again.");
$("#pnr1").val("");
$("#pnr2").val("");
return;
}
if(pnr1.length!=3 || pnr2.length!=7)
{
alert('Invalid PNR Number.');
$("#pnr1").val("");
$("#pnr2").val("");
return;
}
if((arr_month==dep_month && dep_date<arr_date) || (dep_month<arr_month))
{
alert('Invalid dates.Please check again.');
return;
}
//Test passed. Store in database;
URL="saveAcco.php";
parameters="name="+name+"&ins="+institution+"&year="+year+"&pnr="+pnr1+""+pnr2+"&dateArr="+arr_year+"-"+arr_month+"-"+arr_date+"&dateDep="+dep_year+"-"+dep_month+"-"+dep_date;
$.get(URL+"?"+parameters,function(data){
$("#msg_box").html(data);
if(data=="Your changes have been saved." || data=="Your data has been saved and is pending approval.")
{
$("#acco_status").html('<br/><b>Accomodation Approval Status</b> : <span style="padding:3px;background-color:#f4fb3c">Approval Pending</span><br/><br/>');
}
$("#msg_box").fadeIn("slow",function(){
setTimeout('fadeOutMsgBox();',3000);
});
});
}
功能检查账户表()
{
var name=$(“#name”).val();
var机构=$(“#机构”).val();
var year=$(“#year”).val();
//PNR数据
var pnr1=$(“#pnr1”).val();
var pnr2=$(“#pnr2”).val();
//到达日期信息
var arr_year=$(“#arr_year”).val();
var arr_month=$(“#arr_month”).val();
var arr_date=$(“#arr_date”).val();
//出发日期信息
var dep_year=$(“#dep_year”).val();
var dep_月=$(“#dep_月”).val();
var dep_date=$(“#dep_date”).val();
var numericExpression=/^[0-9]+$/;
//名称、机构和年份不能为空
如果(名称=“”| |机构=“”| |年份=“”)
{
警报(“一个或多个字段为空。”);
返回;
}
//PNR必须是所有数字
如果(!pnr1.match(numericExpression)| |!pnr2.match(numericExpression))
{
警报(“PNR编号仅由10位数字组成。请重新输入”);
$(“#pnr1”).val(“”);
$(“#pnr2”).val(“”);
返回;
}
如果(pnr1.长度!=3 | | pnr2.长度!=7)
{
警报(“无效的PNR编号”);
$(“#pnr1”).val(“”);
$(“#pnr2”).val(“”);
返回;
}
如果((arr_month==dep_month&&dep_date));
$(“#会计字母打印”).fadeIn();
}
$(“#msg_box”).fadeIn(“慢”,函数(){
setTimeout('fadeOutMsgBox();',3000);
});
}); //get函数的结束
}
更改之后,突然该函数的js文件中的所有函数都停止工作,包括该函数。在搜索论坛时,我发现了这样一个讨论:它说错误可能是由于使用了保留字。但是,我在代码中找不到任何用作变量的保留字。你知道问题出在哪里吗?你有这个:
if(pnr1!="" and pnr2!="")
应该是:
if(pnr1!="" && pnr2!="")
任何像这样的语法错误都会导致整个程序失败,请务必检查您的错误控制台,他们会很快指出原因
另一方面,尽量不要将字符串传递给,直接传递函数引用,更改如下:
setTimeout('fadeOutMsgBox();',3000);
为此:
setTimeout(fadeOutMsgBox,3000);
这将减少问题,并允许函数位于范围内的任何位置,它不必是全局的(就像使用字符串一样)。发布
diff-u
的输出,针对两者运行。如果您在浏览器中加载并运行脚本,它将给您一条错误消息。。。
setTimeout(fadeOutMsgBox,3000);