function $() {
  var elements = new Array();
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string') element = document.getElementById(element);
    if (arguments.length == 1) return element;
    elements.push(element);
  }
  return elements;
}
这个函数应该是用来通过对象的ID获取对象的吧?页面中有个文本框
<input type="text" name="username" size="20" id="username" />为什么我用$('username').value获取不到值呢,弹出的是undefined用$('username').[0].value也一样是undefined

解决方案 »

  1.   

    <input type="text" name="username" size="20" id="username" value='backevil' />
      

  2.   

    你没给username写入VALUE,它当然是undefined了
      

  3.   


    <input type="text" name="username" size="20" id="username" value="终于不是undefined了"/>再看看
      

  4.   

    代码没问题,是不是调用的时候控件还没加载完毕?<script>
    function $() {
      var elements = new Array();
      for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string') element = document.getElementById(element);
        if (arguments.length == 1) return element;
        elements.push(element);
      }
      return elements;

    window.onload=function(){
    alert($('username').value)
    }
    </script>
    <input type="text" name="username" size="20" id="username" value="xxx"/>
      

  5.   

    value没有写值这个我知道的.呵呵我是在form的onsumbit事件中进行获取的.在input中输入一些值,然后submit获取值..楼上所说的控件加载什么意思,这个函数有什么其他东西要加载吗,我看这个在一些jquery里经常出现还有楼上的楼上说页面不支持EL标签是什么意思呢?
      

  6.   

    <table cellpadding="2" cellspacing="1" class="tb">
    <form method="post" name="form1" action="admin_edit.asp" onSubmit="return check();">
    <input type="hidden" name="action" value="ok" />
    <input type="hidden" name="id" value="" />
    <tr>
    <td class="tl">用户名 <span class="red">*</span></td>
    <td><input type="text" name="username" size="20" id="username" value="" /> <span id="msg_username" class="red"></span></td>
    </tr>
    <tr>
    <td class="tl">姓名</td>
    <td><input type="text" name="realname" size="20" id="realname" value="" /></td>
    </tr>
    <tr>
    <td class="tl">新登录密码 <span class="red">*</span></td>
    <td><input type="password" name="password" size="20" id="password" /> <span id="msg_password" class="red"></span></td>
    </tr>
    <tr>
    <td class="tl">重复新密码 <span class="red">*</span></td>
    <td><input type="password" name="cpassword" size="20" id="cpassword" /> <span id="msg_cpassword" class="red"></span></td>
    </tr>
    <tr>
    <td class="tl">管理级别&nbsp;<span class="red">*</span></td>
    <td><select name="adminlevel" id="adminlevel">
    <option value="2">普通管理员</option>
    <option value="3">超级管理员</option>
    </select></td>
    </tr>
    <tr>
    <td class="tl"></td>
    <td><input type="submit" name="submit" value=" 确 定 " class="btn"/> <span id="successmsgbox"></span></td>
    </tr>
    </form>
    </table><script type="text/javascript">
    function $() {
      var elements = new Array();
      for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string') element = document.getElementById(element);
        if (arguments.length == 1) return element;
        elements.push(element);
      }
      return elements;
    }
    function check() {
    alert($('username').value);
    return false;
    }
    window.setTimeout(function(){getID('successmsgbox').innerHTML='';getID('successmsgbox').style.display='none';}, 3000);
    </script>
      

  7.   

    getID('successmsgbox') ==> $('successmsgbox')
      

  8.   

    以下代码,按确定可以得到username的值<script>
    function $() {
      var elements = new Array();
      for (var i = 0; i < arguments.length; i++) {
        var element = arguments[i];
        if (typeof element == 'string') element = document.getElementById(element);
        if (arguments.length == 1) return element;
        elements.push(element);
      }
      return elements;
    }
    function check() {
        alert($('username').value);
        return false;
    }//window.setTimeout(function(){getID('successmsgbox').innerHTML='';getID('successmsgbox').style.display='none';}, 3000);</script>
    <table cellpadding="2" cellspacing="1" class="tb">
    <form method="post" name="form1" action="admin_edit.asp" onSubmit="return check();">
        <input type="hidden" name="action" value="ok" />
        <input type="hidden" name="id" value="" />
        <tr>
            <td class="tl">用户名 <span class="red">*</span></td>
            <td><input type="text" name="username" size="20" id="username" value="" /> <span id="msg_username" class="red"></span></td>
        </tr>
        <tr>
            <td class="tl">姓名</td>
            <td><input type="text" name="realname" size="20" id="realname" value="" /></td>
        </tr>
        <tr>
            <td class="tl">新登录密码 <span class="red">*</span></td>
            <td><input type="password" name="password" size="20" id="password" /> <span id="msg_password" class="red"></span></td>
        </tr>
        <tr>
            <td class="tl">重复新密码 <span class="red">*</span></td>
            <td><input type="password" name="cpassword" size="20" id="cpassword" /> <span id="msg_cpassword" class="red"></span></td>
        </tr>
        <tr>
            <td class="tl">管理级别&nbsp;<span class="red">*</span></td>
            <td><select name="adminlevel" id="adminlevel">
                <option value="2">普通管理员</option>
                <option value="3">超级管理员</option>
            </select></td>
        </tr>
        <tr>
            <td class="tl"></td>
            <td><input type="submit" name="submit" value=" 确 定 " class="btn"/> <span id="successmsgbox"></span></td>
        </tr>
    </form>
    </table>
      

  9.   

    与你注释掉的那行没关系
    我测试过了,把function $()放到页面里正常,放到当度的js文件里再引入进来就不行,同一个js文件里的其他函数是有用了,证明路径没问题,郁闷...