繁体   English   中英

从IFrame中的外部html文件获取文本框值

[英]Get the textbox value from external html file within IFrame

我有两个HTML文件( index.htmlexternal.html )。 external.html有一些注册字段。 使用IFrameindex.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获取外部文件的输入字段的值?

请尝试以下操作:

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>

在这里,我想出了我的问题的答案。 当从localhost本身加载external.html文件时,上面Mr.Zword的答案正常工作。

1)在index.jsp文件中,在IFrame中调用Servlet ,而不是在action属性中提供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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM