|zyciis| 如何查找一个控件的子控件名为“firstName”有代码,谢谢

zyciis210 2009-12-21 04:34:53

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form id="frmEdit">
<input type="text" name="firstName" value="Zhang" />
</form>
<input type="text" name="firstName" value="Wang" />
</body>
<script>
var firstName = document.getElementById("frmEdit").getElementsByName("firstName")[0].value;
alert(firstName);
</script>
</html>

我现在就是要找出frmedit这个form下面,name为firstName的对像
开始我以为很简单就用
document.getElementById("frmEdit").getElementsByName("firstName")[0].value;
但提示:document.getElementById("frmEdit").getElementsByName is not a function
但是如果用document.getElementsByName("firstName")[0].value,这样虽然正确
但显示不我的第一条件“找出frmedit这个form下面”不成立,
那这里应该怎么写呢?
谢谢
...全文
71 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
千游 2009-12-21
  • 打赏
  • 举报
回复
一般都用getElementById取值,还不知道 form节点没有getElementsByName方法。学习下
「已注销」 2009-12-21
  • 打赏
  • 举报
回复
好帖子
  • 打赏
  • 举报
回复
<script>
var firstName = document.getElementById("frmEdit")
.elements["firstName"][0]
.value;

alert(firstName);
</script>
zyciis210 2009-12-21
  • 打赏
  • 举报
回复

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form id="frmEdit">
<input type="text" name="firstName" value="Zhang" />
<input type="text" name="firstName" value="Wang" />
</form>
</body>
<script>
var firstName = document.getElementById("frmEdit").firstName.value;
alert(firstName);
</script>
</html>

我发现很奇怪,
document.getElementById("frmEdit").firstName
如果我的form里面只有一个firstname的话,那么就为直接取到对像
如果有多个的话就变成了数组
要是按我的理解,
一个的话应该写为
var firstName = document.getElementById("frmEdit").firstName[0].value;
但这样是错的,只能用
var firstName = document.getElementById("frmEdit").firstName.value;
但是有两个firstName的话,上面那条又正确,
这搞得有点头晕了。。

哈哈,谁来解释一下,
谢谢
foolbirdflyfirst 2009-12-21
  • 打赏
  • 举报
回复
form节点没有getElementsByName方法。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<form id="frmEdit">
<input type="text" name="firstName" value="Zhang" />
<input type="text" name="firstName" value="Zhang2" />
</form>
<input type="text" name="firstName" value="Wang" />
</body>
<script>
var firstName = document.getElementById("frmEdit").firstName[1].value;
alert(firstName);
</script>
</html>
zyciis210 2009-12-21
  • 打赏
  • 举报
回复
RE:1楼
同样错误

RE:2楼
现在写js多了,感觉有时自己写js更方便
一般在绑事件和ready比较多用,取控件还是自己写好
谢谢
silentwins 2009-12-21
  • 打赏
  • 举报
回复
用JQuery貌似简单很多……
草根醉秋意 2009-12-21
  • 打赏
  • 举报
回复
试下:




<div id="div">
<input type="text" name="firstName" value="Zhang" /></div>

document.getElementById("div").getElementsByName("firstName")[0].value;

87,992

社区成员

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

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