然后获取表单中所有input标签,循环判断获取到的input的type,如果没有type,或者type是text,或者type为空 的就是文本框了
var inputs = document.getElementById("form的id").getElementsByTagNames("input")
var ls = []
for(var i=0i<inputs.lengthi++)
{
var type = inputs[i].getAttribute("type")
if(!type||type==""||type=="text")
{
(function(ele){
ls[ls.length] = ele
}(inputs[i]))
}
}
ls里就是所有文本框了
1楼的方法有局限性, 只能是所有文本框的name属性都相同才能起作用.但是根据题意, 不可能所有的文本框的name属性都相同.
我稍做修改. 使用 document.getElementsByTagName() 方法.
<html>
<body>
<input name="txt1" type="text" />
<input name="txt2" type="text" /><br />
<input name="txt3" type="text" />
<input name="txt4" type="text" /><br />
<input type="button" value="锁定" onclick="lock('true')" />
<input type="button" value="解锁" onclick="lock('false')" />
</body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function lock(flag){
var txtArrs = document.getElementsByTagName('input')
for(var i=0i<txtArrs.lengthi++){
var txt = txtArrs[i]
if(txt.type == 'text'){
if(flag == 'true'){
txt.disabled = true
}else{
txt.disabled = false
}
}
}
}
//-->
</SCRIPT>
</html>
<html><head>
<script type="text/javascript">
function clearinput()
{
var sss = document.getElementById("sss")
for(i=0i<sss.getElementsByTagName("input").lengthi++){
sss.getElementsByTagName("input")[i].value=""
}
}
</script>
</head>
<body>
<div id="sss">
<input type="text" >
<input type="text" >
<input type="text" >
<input type="text" >
</div>
<input type="button" value="清空" onclick="clearinput()">
</body>
</html>