[英]Get the textbox value from external html file within IFrame
我有两个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
获取外部文件的输入字段的值?
请尝试以下操作:
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.