今天在写js的时候碰到一个错误,js代码如下:
//
验证日期格式的正则。如 2007-09-12

function
isDate(str)
...
{
var days=new Array(31,28,31,30,31,30,31,31,30,31,30,31);

var a=str.match(/^(d...{4})(-)(d...{1,2})(-)(d...{1,2})$/);
if(a ==null) return false;
days[1]=((0==a[1]%4)&&(0!=(a[1]%100)))||(0 ==a[1] %400)?29:28;
if(a[1]<=1900||a[3]==0||a[3]>=13||a[5]==0||a[5]>days[a[3]-1])
return false;
return true;
}


function
editTime()
...
{
var startDate=document.getElementById("meetStartDate");
var endDate=document.getElementById("meetEndDate");
if(!isDate(startDate.value.trim()))

...{
alert('<bean:message key="label.editMeetTime.startTime"/>'+' '+'<bean:message key="msg.meetBoard.StartDateIsError"/>');
startDate.focus();
return;
}
if(!isDate(endDate.value.trim()))

...{
alert('<bean:message key="label.editMeetTime.endTime"/>'+' '+'<bean:message key="msg.meetBoard.StartDateIsError"/>');
endDate.focus();
return;
}

editMeetTimeForm.action='saveMeetTime.do';
editMeetTimeForm.submit();
window.opener.location='meetBoard.do?meetingId='+'<bean:write name="editMeetTimeForm" property="meetDetailId"/>';
window.close();
}
黄色标志处有错,说不支持这个属性。把trim()去掉后,就没错了。记得以前这样使过,没有报错。查了一下以前可以支持trim的页面,发现如果在页面上导入一个有关ajax的js就ok了,如下:
<
script type
=
"
text/javascript
"
src
=
"
js/ajaxtags/ajaxtags-1.2-beta2.js
"
></
script
>
在这个js里搜了一下trim,发现有这样的一个方法:
String.prototype.trim
=
function
()
...
{
return this.replace(/(^s*)|(s*$)/g,"");
}
于是把上面导入的js去掉,单把这个方法加进来,也ok。至于为什么,还不清楚,改日找时间再研究一下。
最近感觉跟js嗑上了……