js脚本报document.Login.entry对象为空或不存在的错误!为什么?
html代码:
<div class="t">
<form name="login" method="post" action="" onsubmit="return chkLogin()" target="_blank">
<fieldset class="logind">

<div class="usernamed">
<div class="usernamel"><label class="usernameTxt">登录名</label></div>
<div class="usernamet"><input type="text" name="username" id="username" value="" onblur="chkLoginType(this.value)" /></div>
</div>
<div class="passwordd">
<div class="passwordl"><label class="passwordt">密码</label></div>
<div class="passwordt"><input name="password" id="password" type="password" onfocus="openLoginType()" /><input type="hidden" name="entry" value="null" /><input type="hidden" id="act" name="act" value="1"></div>
</div>
<div class="bottond"><input type="submit" id="bottont" value="登录" align="middle"/></div>
</fieldset>
</form>
</div>js脚本:
function select()
{
document.Login.entry.value = "test";
}

解决方案 »

  1.   

    document.Login.entry.value = "test";
    Login 改为 login
      

  2.   

    alert(document.login.entry.value);
    document.login.entry.value = "test";
    alert(document.login.entry.value);
      

  3.   

    楼上说的正确。这里再给出一种方法:
    <input type="hidden" name="entry" value="null" /> 这个是你的标签。
    给它加上一个id属性
    <input type="hidden" name="entry" value="null" id="entryId"/>则js代码如下:function select(){
        document.getElementById('entryId').value = 'test';
        //通过ID同样可以达到你的目的,简单明了
    }
      

  4.   

    3楼是对的
    也可以这样做:
    <input type="hidden" name="entry" value="null"function select(){
        document.getElementByName('entry').value = 'test';
        //通过ID同样可以达到你的目的,简单明了
    }
      

  5.   

    6楼,你的函数用错了。我用的是 document.getElementById(id)。你用的是document.getElementsByName(name)。
    1、你的函数名还写错了。
    2、要是应用document.getElementsByName(name)函数,这个函数返回的是一个数组,而不是唯一的一个值。因为在html页面中,很多name都不是唯一的,比如checkbox和radio,他们的name一般都要求是一致的。如果应用document.getElementsByName(name),则应该这么写:if(document.getElementsByName(name)[0]){
       document.getElementsByName(name)[0].value = 'test';
    }