javascript 如何获取表单中所有文本框?

JavaScript029

javascript 如何获取表单中所有文本框?,第1张

先获取到form表单

然后获取表单中所有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>