js数组赋值有问题
<scripttype="text/javascript">functioncheck(x){varv=newArray();for(vari=0;i<document....
<script type="text/javascript">
function check(x){
var v=new Array();
for(var i=0; i<document.reg.elements.length;i++){
v[i]=document.reg.elements[i].value;
}
switch(x){
case 1:
alert(v[0]);
break;
case 2:
if(a[1].length<6){
document.getElementById("submit").innerText="密码必须大于6个字符!";
}
break;
}
}
</script>
......
<form method="post" name="reg" action="post.asp" onsubmit="" >
<fieldset>
<legend>注册基本信息</legend>
<table class="tb" cellpadding="5" cellspacing="5">
<tr>
<td class="left">用户名</td>
<td><input type="text" class="txt" ids="name" size="15" onchange="check(1);"/></td>
</tr>
<tr>
<td class="left">密 码</td>
<td><input type="password" class="txt" name="pwd" size="15" onchange="check(2);"/></td>
</tr>
</table>
</fieldset>
为什么v[0]是undefined??明明赋值了呀? 展开
function check(x){
var v=new Array();
for(var i=0; i<document.reg.elements.length;i++){
v[i]=document.reg.elements[i].value;
}
switch(x){
case 1:
alert(v[0]);
break;
case 2:
if(a[1].length<6){
document.getElementById("submit").innerText="密码必须大于6个字符!";
}
break;
}
}
</script>
......
<form method="post" name="reg" action="post.asp" onsubmit="" >
<fieldset>
<legend>注册基本信息</legend>
<table class="tb" cellpadding="5" cellspacing="5">
<tr>
<td class="left">用户名</td>
<td><input type="text" class="txt" ids="name" size="15" onchange="check(1);"/></td>
</tr>
<tr>
<td class="left">密 码</td>
<td><input type="password" class="txt" name="pwd" size="15" onchange="check(2);"/></td>
</tr>
</table>
</fieldset>
为什么v[0]是undefined??明明赋值了呀? 展开
2个回答
展开全部
var v=new Array();
for(var i=0; i<document.reg.elements.length;i++){
// v[i]=document.reg.elements[i].value;
alert(i + " = " + document.reg.elements[i].tagName)
}
这里的elements[0]元素为<fieldset>,所以为undefined
改成这样:
var o = document.reg.getElementsByTagName("INPUT");
for(var i=0; i< o.length; i++){
v[i]=o[i].value;
//alert(i + " = " + o[i].tagName)
}
for(var i=0; i<document.reg.elements.length;i++){
// v[i]=document.reg.elements[i].value;
alert(i + " = " + document.reg.elements[i].tagName)
}
这里的elements[0]元素为<fieldset>,所以为undefined
改成这样:
var o = document.reg.getElementsByTagName("INPUT");
for(var i=0; i< o.length; i++){
v[i]=o[i].value;
//alert(i + " = " + o[i].tagName)
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
var
v=new
Array();
for(var
i=0;
i<document.reg.elements.length;i++){
//
v[i]=document.reg.elements[i].value;
alert(i
+
"
=
"
+
document.reg.elements[i].tagName)
}
这里的elements[0]元素为<fieldset>,所以为undefined
改成这样:
var
o
=
document.reg.getElementsByTagName("INPUT");
for(var
i=0;
i<
o.length;
i++){
v[i]=o[i].value;
//alert(i
+
"
=
"
+
o[i].tagName)
}
v=new
Array();
for(var
i=0;
i<document.reg.elements.length;i++){
//
v[i]=document.reg.elements[i].value;
alert(i
+
"
=
"
+
document.reg.elements[i].tagName)
}
这里的elements[0]元素为<fieldset>,所以为undefined
改成这样:
var
o
=
document.reg.getElementsByTagName("INPUT");
for(var
i=0;
i<
o.length;
i++){
v[i]=o[i].value;
//alert(i
+
"
=
"
+
o[i].tagName)
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询