也可以直接用username  但不同的浏览器可能会出现兼容问题  最好不要那么做

解决方案 »

  1.   

    在ie浏览器中页面元素的id可以当作变量名直接访问。
    但在别的浏览器中就必须要用document.getElementById()
      

  2.   

    原因在于with(thisform)
    在with指定环境下userName 等同 thisform.userName
      

  3.   

    第一行with(thisform)下面出现的变量会默认加上thisform,userName也一样,相当于有了默认前缀thisform,即thisform.userName
      

  4.   

    如果把form上的事件去掉,肯定不一样了;
      

  5.   

    这个跟with(thisform) 有关系吗,with 在这里是什么作用呢,请大牛指教下,谢谢 
      

  6.   

    这个跟with(thisform) 有关系吗,with 在这里是什么作用呢,请大牛指教下,谢谢 
    这就要看userName是id属性还是name属性如果userName只是表单中一个元素的id属性,则与 with(thisform) 没有关系,在ie浏览器中页面元素的id可以当作变量名直接访问。
    在非ie浏览器中是无法直接访问如果userName是表单中一个表单的name属性,则与 with(thisform) 有关系, 在with语句设定默认对象情况下直接用userName 等同于 thisform.userName 因为表单中元素的name可以作为表单的属性直接访问,元素的id则不可以