不好意思来这里问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')">报错是缺少对象,应该就是指没有找到这个方法把;

解决方案 »

  1.   

    难道不是相对于调用的jsp文件的路径??
      

  2.   

    <script type="text/javascript">//有无这句开头我都试过了,同样的错误 这句一般是不要的<script language="text/javascript" src="js/validate.js">
    </SCRIPT>用firefox插件查看此文件是否导入
      

  3.   

    请问楼主这个是jquery的验证?
    要不是的话你怎么的也改加上双引号吧?
      

  4.   

    <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>
    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);
     }
      

  5.   


    我改了下,但还是有问题:
    <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');
    }
      

  6.   

    发现另外的一个问题:之前我在页面直接写的JS函数也不能用了。都是报缺少对象;
    是否是我哪设置的不对?浏览器是win7自带的IE,没重装过
      

  7.   

    回楼上。我后来直接弄个Test方法都没用,本页面自己写的JS函数都失效了
    现在怀疑是浏览器的问题。
      

  8.   


    js文件中你还加这个??<script type="text/javascript">
    js/validate.js这个是相对路径,是相对你当前的jsp。如果你认为是路径问题,就是js写到当前页面,如果function没问题,那就是路径问题呗。。
      

  9.   

    <script type="text/javascript" charset="UTF-8" src="${pageContext.request.contextPath}/etc/core/js/calendar.js"></script>
      

  10.   

                    up            up