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点击其他地方关闭弹出元素,但是点击元素却不会关闭的代码怎么写?

js一直提示函数未定义

在jq中,当触发点击事件后,在此事件没完成之前,不能再触发点击事件,在事件完成后才能再次点击,该怎么弄

php怎么给按钮添加事件

如何用JS或JQ实现点击不同的按钮出现不同的层内容

一个Canvas如何设置点击事件?