<s:textfield name="wareHouse.email" id="email" cssClass="formText" maxLength="32" />
要求在这个标签上加个方法,实现文本框失去焦点后执行function验证文本框的内容是否为正确的邮箱地址    function checkEmail(){
        var newEmail = $("email").val();
        alert(newEmail);
        if(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/.val(newEmail)){
             alert("格式不正确!");
            return false;
        }
        return true;
    }
无论是onblur还是onfocus或者onchange方法,都无法执行checkEmail方法我写的是onblur="return checkEmail()"
在线急等

解决方案 »

  1.   

    textfield这个标签有些什么方法
      

  2.   

    if(newEmail.search(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/) == -1)
      

  3.   

    建议还是用html标签、struts标签经常多生成代码、影响网页布局、
      

  4.   


    该有的方法都有现在好了,那个方法可以调用了
    但是我获取不到这个文本框的值。var newEmail=$("#email").val();
    alert(newEmail);
    弹出来是  undefined
      

  5.   


    哥们,应该是if(newEmail.match((/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/))
    方法吧?
    那个search也可以用来比较正则表达式规范吗?
      

  6.   


    这儿我也不想,但是这是公司开发的大项目,既然用这个标签了,那么自然有用HTML的不好的方面,可能是获取数据方法懒点了吧!~蛋疼,以前用的都是HTML的,用EL表达式也很省劲啊
      

  7.   

    看看页面生成的id="email"对不对
      

  8.   

    嗯嗯,试了,如果正确是0,不正确就是-1。。学习了。只是,我想再问一下,我获取那个文本框的方法没错吧?var newEmail = $("#email").val();
    为什么弹出来值总是undefined的呢?
      

  9.   


    <input id="email" class="formText" type="text" onblur="checkEmail()" value="" maxlength="32" name="wareHouse.email">
    用火狐浏览器看到的页面生成的标签,是email没错啊
      

  10.   

    看看$("#email").size()是不是等于1;
    不等于说明id错了
      

  11.   


    <input id="email" class="formText" type="text" onblur="checkEmail()" value="" maxlength="32" name="wareHouse.email">没错啊!
      

  12.   

    var newEmail = $("email").val();
    你的代码上面是这样写的,是不是缓存还是没改好。
      

  13.   

    接分传送门去吧http://topic.csdn.net/u/20120227/16/445e2d25-5aaa-4dcd-8ea8-af1154e85627.html?97688