不好意思来这里问JS的问题,因为是JSP项目里出的问题,我想大家可能熟悉一些。很简单,麻烦大家帮我看下:JS文件中的代码:
<script type="text/javascript">//有无这句开头我都试过了,同样的错误
function istrue(str){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(str);
}
</script>
页面代码:
<script language="text/javascript" src="js/validate.js">
//以上路径即是相对路径也是相对于webroot的路径。我是不清楚它查找文件的时候到底按哪个来查了<INPUT class="textbox" id="username" name="username" type="text" onclick="javascript:istrue('test')">报错是缺少对象,应该就是指没有找到这个方法把;
<script type="text/javascript">//有无这句开头我都试过了,同样的错误
function istrue(str){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(str);
}
</script>
页面代码:
<script language="text/javascript" src="js/validate.js">
//以上路径即是相对路径也是相对于webroot的路径。我是不清楚它查找文件的时候到底按哪个来查了<INPUT class="textbox" id="username" name="username" type="text" onclick="javascript:istrue('test')">报错是缺少对象,应该就是指没有找到这个方法把;
</SCRIPT>用firefox插件查看此文件是否导入
要不是的话你怎么的也改加上双引号吧?
function istrue(str){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(str);
}
</script>
JS文件中还需要加<script type="text/javascript"></script>
这个吗?直接
function istrue(str){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(str);
}
我改了下,但还是有问题:
<LINK href="css/login.css" type="text/css" rel="stylesheet">//样式表没有问题
<script language="text/javascript" src="js/validate.js">//js文件夹和css文件夹是同级的文件夹,但就是报:缺少对象<INPUT class="textbox" id="password" name="password" type="password" onblur="javascript:Test()">
附整个JS文件代码:
//<script language= "javascript " src= "mouseevent.js "> </script>
function istrue(str){
var reg=/^(([a-z]+[0-9]+)|([0-9]+[a-z]+))[a-z0-9]*$/i;
return reg.test(str);
}
function isNumeric(strNumber)
{
var newPar=/^(-|+)?d+(.d+)?$/
alert(newPar.test(strNumber));
}
//检查是否为正数
function isUnsignedNumeric(strNumber)
{
var newPar=/^d+(.d+)?$/
alert(newPar.test(strNumber));
}
//检查是否为整数
function isInteger(strInteger)
{
var newPar=/^(-|+)?d+$/
alert(newPar.test(strInteger));
}
//检查是否为正整数
function isUnsignedInteger(strInteger)
{
var newPar=/^d+$/
alert(newPar.test(strInteger));
}//检查是否数字
function isNum(s)
{
var pattern = /^d+(.d+)?$/;
if(pattern.test(s))
{
return true;
}
return false;
}//检查是否整数
function isInt(s)
{
var pattern = /^-?d+$/;
if(s.search(pattern)!=0)
{
return false;
}
return true;
}
//检查日期格式
function CheckDate(form) {
var rr = /^(?:19|20)[0-9][0-9]-(?:(?:0[1-9])|(?:1[0-2]))-(?:(?:[0-2][1-9])|(?:[1-3][0-1])) (?:(?:[0-2][0-3])|(?:[0-1][0-9])):[0-5][0-9]:[0-5][0-9]$/
if (!rr.test(form.drugDate.value.trim())) {
alert('请输入正确的时间格式,如:2005-01-27 22:12:00');
form.drugDate.focus();
return false;
}
return true;
}
function Test()
{
alert('test');
}
是否是我哪设置的不对?浏览器是win7自带的IE,没重装过
现在怀疑是浏览器的问题。
js文件中你还加这个??<script type="text/javascript">
js/validate.js这个是相对路径,是相对你当前的jsp。如果你认为是路径问题,就是js写到当前页面,如果function没问题,那就是路径问题呗。。