我有两个文本框
<input id='random_value' name='random_name' value='First'
<input id='random_value' name='random_name' value=''
我需要将值为'First'的文本框的值替换为'Second',而不是使用textbox id或textbox name。这可能吗?
答案 0 :(得分:3)
如果值为“First”,则此函数将用“Second”替换所有输入元素中的值:
function replaceTextboxValue() {
var els = document.getElementsByTagName("INPUT");
for(var i = 0, ceiling = els.length; i < ceiling; i++) {
if(els[i].value == "First")
els[i].value = "Second";
}
}
答案 1 :(得分:0)
您可以选择如下:
var input = document.getElementsByTagName("INPUT");
var j = 0;
for (var i = 0; i < input.length; i++) {
if (input[i].type == "text") {
if (input[i].value == "First") {
input[i].value == "Second"
}
}
}
或者如果你知道dom中该元素的索引,你可以直接执行以下操作:
<HTML>
<FORM>
<input id='random_value' name='random_name' value='First'/>
<input id='random_value' name='random_name' value=''/>
</FORM>
</HTML>
您可以按以下方式设置值:
document.forms[0].elements[0].value=document.forms[0].elements[1].value;
如果表单是第一个,而text框是表单的第一个元素,则可以指定该表单的索引。
如果您不知道索引,那么您可以浏览所有元素的循环并检查值“First”并完成它。
答案 2 :(得分:0)
你必须制作一个循环
var x= document.getElementsByTagName('input');
var i =0;
for(i = 0; i < x.length;i++){
if(x[i].value == "First"){
x[i].value = "Second";
}
}