html里面,点击按钮时,怎么使用js或jq给iframe里面的表单赋值和提交
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html里面,点击按钮时,怎么使用js或jq给iframe里面的表单赋值和提交相关的知识,希望对你有一定的参考价值。
其实JQ是可以直接操作IFRAME里面的元素的query取得iframe中元素的几种方法
在iframe子页面获取父页面元素
代码如下:
$('#objId', parent.document);
// 搞定...
在父页面 获取iframe子页面的元素
代码如下:
$("#objid",document.frames('iframename').document)
$(document.getElementById('iframeId').contentWindow.document.body).html()
显示iframe中body元素的内容。
$("#testId", document.frames("iframename").document).html();
根据iframename取得其中ID为"testId"元素
$(window.frames["iframeName"].document).find("#testId").html()
用JS或jQuery访问页面内的iframe,兼容IE/FF
注意:框架内的页面是不能跨域的!
假设有两个页面,在相同域下.
index.html 文件内含有一个iframe:
XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>页面首页</title>
</head>
<body>
<iframe src="iframe.html" id="koyoz" height="0" width="0"></iframe>
</body>
</html>
iframe.html 内容:
XML/HTML代码
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>iframe.html</title>
</head>
<body>
<div id="test"></div>
</body>
</html>
先绑定按钮的点击事件,然后再去操作iframe的表单元素。
但如果你只想模拟提交表单里面的元素,完全可以用php或者其他的语音模拟提交。 参考技术A 如果是当前html页面中有个iframe,点击按钮后想提交iframe中的表单的话很简单。
提交表单:
$(window.frames["iframe的ID或class"].document).find("表单ID或class").submit();
表单赋值:
$(window.frames["iframe的ID或class"].document).find("输入框ID").attr('value','赋值'); 参考技术B document.frames["frame_name"].document.form_name.value = "xxxx";
要在相同的域名下.追问
我要跨域的
JS或JQuery点击其他地方关闭弹出元素,但是点击元素却不会关闭的代码怎么写?
如图,第一步点击输入框弹出2号弹出层,点击任意空白或元素,关闭2号弹出层,但是点击2号弹出层自身内容却不会关闭2号弹出层。求代码
给你一个简单的示例
<!DOCTYPE html><html>
<head>
<meta charset="utf-8"/>
<title>test</title>
<script type="text/javascript" src="jquery/jquery.js"></script>
<script>
$(function()
$('#btn').click(function()
$('#box').css('display','block');
);
$(document).on('mousedown',function(e)
if(!$(e.target).is($('#btn')) && !$(e.target).is($('#box')) && $(e.target).parent('#box').length === 0)
$('#box').css('display','none');
);
);
</script>
</head>
<body>
<button id="btn">显示</button>
<div style="display:none; width:200px; height:200px; background-color:#ddd;" id="box">
<div>内层的文字</div>
</div>
</body>
</html> 参考技术A
2号弹出层的id是layer2
$('*').on('click',function()if('layer2'!=$(this).attr('id'))
$('#layer2').css('display','none')
)
以上是关于html里面,点击按钮时,怎么使用js或jq给iframe里面的表单赋值和提交的主要内容,如果未能解决你的问题,请参考以下文章
JS或JQuery点击其他地方关闭弹出元素,但是点击元素却不会关闭的代码怎么写?