我有两个HTML文件( index.html 和 external.html )。 external.html 有一些注册字段。使用IFrame
,在 index.html 中加载 external.html 。我无法获得 external.html 输入字段值。
我用过
$("#iframeid").contents().find("body").find("#inputfieldid").val(),
但它显示未定义的错误。我也试过这个:
var frameObj = (element.contentWindow || element.contentDocument);
if (frameObj.document) frameObj = frameObj.document;
frameObj.getElementById("inputfieldid").value;
但它不起作用。有没有想过在IFrame
?
答案 0 :(得分:0)
尝试以下方法:
var obj=document.getElementById("iframeid");
var n1=obj.contentWindow.document.getElementById("inputfieldid").value;
und.php (包含iframe )
<!DOCTYPE html>
<html>
<head>
<script>
function altr(){
var obj=document.getElementById("iframeid");
var n1=obj.contentWindow.document.getElementById("inp").value;
alert(n1);
}
</script>
</head>
<body>
<input type="button" value="Submit" onclick="altr()" />
<iframe id="iframeid" src="und1.php" />
</body>
</html>
的 und1.php 强> 的
<!DOCTYPE html>
<html>
<body>
<input id="inp" type="text" />
</body>
</html>
答案 1 :(得分:0)
在这里,我想出了我的问题的答案。当从stronghost本身加载 external.html 文件时,Mr.Zword的答案正常工作。我已经实现了这些值从服务器加载外部文件的方式如下:
1)在 index.jsp 文件中,调用 IFrame 中的 Servlet 。而不是给 external.html 在操作属性中。
2)在Servlet doGet方法中,您必须建立与服务器的连接,并使用正确的 external.html 文件URL向服务器发送请求。
3)最后通过 PrintWriter 类打印该值。
4)现在您可以使用以下方式获取IFrame值。
var obj=document.getElementById("iframeid");
var n1=obj.contentWindow.document.getElementById("inp").value;