js 访问form中input type=hidden值的问题。

ycji056 2009-10-21 05:59:14
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";
}
...全文
493 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 siakang 的回复:]
3楼是对的
也可以这样做:
HTML code<inputtype="hidden" name="entry" value="null"
JScript codefunction select(){
document.getElementByName('entry').value='test';//通过ID同样可以达到你的目的,简单明了}
[/Quote]
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';
}
siakang 2009-10-22
  • 打赏
  • 举报
回复
3楼是对的
也可以这样做:
<input type="hidden" name="entry" value="null"


function select(){
document.getElementByName('entry').value = 'test';
//通过ID同样可以达到你的目的,简单明了
}

sumjor 2009-10-22
  • 打赏
  • 举报
回复
注意区分大小写
xiyunfang 2009-10-22
  • 打赏
  • 举报
回复
是啊,js是区分大小写。
TalesTen 2009-10-22
  • 打赏
  • 举报
回复
Ding~[Quote=引用 7 楼 develop_design_level 的回复:]
引用 6 楼 siakang 的回复:
3楼是对的
也可以这样做:
HTML code <inputtype="hidden" name="entry" value="null"
JScript codefunction select(){
    document.getElementByName('entry').value='test';//通过ID同样可以达到你的目的,简单明了}

6楼,你的函数用错了。我用的是 document.getElementById(id)。你用的是document.getElementsByName(name)。
1、你的函数名还写错了。
2、要是应用document.getElementsByName(name)函数,这个函数返回的是一个数组,而不是唯一的一个值。因为在html页面中,很多name都不是唯一的,比如checkbox和radio,他们的name一般都要求是一致的。如果应用document.getElementsByName(name),则应该这么写:
JScript codeif(document.getElementsByName(name)[0]){
document.getElementsByName(name)[0].value='test';
}
[/Quote]
  • 打赏
  • 举报
回复
楼上说的正确。这里再给出一种方法:
<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同样可以达到你的目的,简单明了
}
yixianggao 2009-10-21
  • 打赏
  • 举报
回复
alert(document.login.entry.value);
document.login.entry.value = "test";
alert(document.login.entry.value);
yixianggao 2009-10-21
  • 打赏
  • 举报
回复
document.Login.entry.value = "test";
Login 改为 login

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧