JS动态添加文本框,要取出文本框中的值,已经取到对象input,但取值的时候居然是undefined
<html><head><style>.mydiv{width:155;height:500;border:1pxsolidred;}</style><script>fu...
<html>
<head>
<style>
.mydiv{
width:155;
height:500;
border:1px solid red;
}
</style>
<script>
function AddOne(){
var obj = document.createElement("input");
obj.name = "score";
mydiv.appendChild(obj);
}
function cal(){
//获取输入框中的值
var x = document.getElementsByName("score");
alert(x);//测试是否取到这个对象,结果是已经取到了
alert(x.value);
}
</script>
</head>
<body>
<form name="myform">
<div id="mydiv" class="mydiv">
</div>
<input type="button" value="加一个" onClick="AddOne()">
<input type="button" value="确认提交" onClick="cal()">
</form>
</body>
</html> 展开
<head>
<style>
.mydiv{
width:155;
height:500;
border:1px solid red;
}
</style>
<script>
function AddOne(){
var obj = document.createElement("input");
obj.name = "score";
mydiv.appendChild(obj);
}
function cal(){
//获取输入框中的值
var x = document.getElementsByName("score");
alert(x);//测试是否取到这个对象,结果是已经取到了
alert(x.value);
}
</script>
</head>
<body>
<form name="myform">
<div id="mydiv" class="mydiv">
</div>
<input type="button" value="加一个" onClick="AddOne()">
<input type="button" value="确认提交" onClick="cal()">
</form>
</body>
</html> 展开
3个回答
推荐于2016-11-08
展开全部
这种问题,测试一下就好了, 用appendChild 方式增加在页面上的元素, 在ie上是无法直接使用
document.getEementXX 的方式获取的,虽然在上述问题中注释说取到对象,原因是其实无论name写什么值,那个对象在ie上都是可以alert 一个 Object的。
针对IE 你可以考虑下面的写法:(至少ie8是可以的)
<html>
<head>
<style>
.mydiv{
width:155;
height:500;
border:1px solid red;
}
</style>
<script>
function AddOne(){
/*
var obj = document.createElement("input");
obj.name = "score";
mydiv.appendChild(obj);
*/
var html = "<input name= 'score' />" ;
var divObj = document.getElementById("mydiv");
divObj.innerHTML += html;
}
function cal(){
//获取输入框中的值
var x = document.getElementsByName("score");
alert(x);//测试是否取到这个对象,结果是已经取到了
for(var i = 0 ; i<x.length; i++)
{
alert(x[i].value);
}
//alert(x.value);
}
</script>
</head>
<body>
<form name="myform">
<div id="mydiv" class="mydiv">
</div>
<input type="button" value="加一个" onClick="AddOne()">
<input type="button" value="确认提交" onClick="cal()">
</form>
</body>
</html>
追问
原来是这样,我在搜狗浏览器下测试了一下,我之前写的代码居然是行的,当然了改动了一下
var x = document.getElementsByName("score")[0];
alert(x);//测试是否取到这个对象,结果是已经取到了
alert(x.value);
关于节点的学习,你有没有好的资料推荐一下啊?
展开全部
createElement , 创建完 eval() 一下.在 取值
追问
具体是怎样的?
追答
var html = "" ;
html = eval(html );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询