js如何操作iframe
目的:获取iframe中input的值123打开 index.html
用js无法操作iframe,求助!
两个网页如下:
index.html
<html>
<head>
<title>我的百度</title>
</head>
<body>
<div>
<input type="button" value="百度" onclick="myFun()">
<input type="button" id="kk" value="abc" onclick="abc()">
</div>
<div name="div2" src="abc.html">
<iframe src="abc.html" name="fr2" id="ppp"></iframe>
</div>
<script>
function myFun(){
//var obj1 = parent.document.getElementById("ppp")
var obj1 = document.frames.window.getElementById("kw")
alert(typeof obj1)
}
function abc(){
var obj2 = document.getElementById("kk")
obj2.type="text"
}
</script>
</body>
</html>
iframe中的网页如下
abc.html
<html>
<head>
<title>abc</title>
</head>
<body>
<div>
<input type="text" id="kw" value="123">
<input type="button" id="a1" value="test" onclick="bu1()">
</div>
<script>
function bu1(){
alert("999")
}
</script>
</body>
</html>
哎!操作这个很少有人用的,因为可以调用别人网页的资源,所以是只读的,我给你重写你的index.html的代码吧<html>
<head>
<title>我的百度</title>
<meta charset="utf-8">
</head>
<body>
<div>
<input type="button" value="百度" onclick="myFun()">
<input type="button" id="kk" value="abc" onclick="abc()">
</div>
<div name="div2" src="abc.html">
<iframe src="abc.html" name="fr2" id="ppp"></iframe>
</div>
<script>
function myFun(){
var obj1 = document.getElementById("ppp")
obj1=obj1.contentWindow.document.getElementById('kw')
alert(obj1.value)
}
function abc(){
var obj2 = document.getElementById("kk")
obj2.type="text"
}
</script>
</body>
</html>
value是属性值,要用:var para = document.getElementById("kw").getAttribute("value"); 不二如是 发表于 2017-6-11 08:06
value是属性值,要用:
<html>
<head>
<title>我的百度</title>
</head>
<body>
<div>
<input type="button" value="百度" onclick="myFun()">
<input type="button" id="kk" value="abc" onclick="abc()">
</div>
<div name="div2" src="abc.html">
<iframe src="abc.html" name="fr2" id="ppp"></iframe>
</div>
<script>
function myFun(){
var para = document.getElementById("kw").getAttribute("value");
alert(para)
}
function abc(){
var obj2 = document.getElementById("kk")
obj2.type="text"
}
</script>
</body>
</html>
是这样吗?我试了几遍还是不行,浏览器是火狐和IE,都不行!再帮个忙,谢谢! 你在主文件的head标签里加这么一行<meta charset="utf-8"> 本帖最后由 轩辕匡华 于 2017-6-11 16:15 编辑
不好意思,可能是我太笨了,点击百度按钮还是一点反应也没有!
<html>
<head>
<meta charset="utf-8">
<title>我的百度</title>
</head>
<body>
<div>
<input type="button" value="百度" onclick="myFun()">
<input type="button" id="kk" value="abc" onclick="abc()">
</div>
<div name="div2" src="abc.html">
<iframe src="abc.html" name="fr2" id="ppp"></iframe>
</div>
<script>
function myFun(){
//var obj1 = parent.document.getElementById("ppp")
var para = document.getElementById("kw").getAttribute("value");
alert(typeof para)
}
function abc(){
var obj2 = document.getElementById("kk")
obj2.type="text"
}
</script>
</body>
</html> 轩辕匡华 发表于 2017-6-11 16:13
不好意思,可能是我太笨了,点击百度按钮还是一点反应也没有!
这位可爱的鱼油,你的ID不对,怎么能找到DOM
var para = document.getElementById("kk").getAttribute("value"); 本帖最后由 轩辕匡华 于 2017-6-11 19:11 编辑
感谢大神!
因为开发网页是省局的,单位要获取数据又没办法直接申请数据库的用户名密码,只好出此下策了,非常感谢!
另外:
1,大神提到“调用别人的网页资源,所以是只读的",这个有什么影响吗?也就是说,我无法改变value的值?
我还想获取到节点后,可以批量提交数据的。不好意思,不敢用爬虫等方法,我们都有IP地址的,万一省局说我们干什么坏事,就惨了!只是想利用他们开发好的网站。
再次十二分的感谢!
页:
[1]