急:js 如何在子页面触发父页面的某个按钮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了急:js 如何在子页面触发父页面的某个按钮相关的知识,希望对你有一定的参考价值。

本来想用window.opener.document.getElementByName(""refresh"").click(),但是看了源代码,发现父页面这个button是没有name的,
只有以下这些信息
<input type="button" value="refresh" onclick="return _doClick('482574EB0030EB86.62dd28fbaafdc672482576960026f3ec/$Body/0.6390', this, null)">

请高手指教!谢谢!
用标签写了一段:
var Obj = window.opener.document.getElementsByTagName("input")
for(var i = 0;i<Obj.length;i++)
if(Obj[i].value =="refresh") Obj[i].click();


依旧实现不了,不知问题出在哪里。。

没有name,用标签
window.opener.document.getElementsByTagName("input")[0].click()

注意标签获取的是对象的一个数组,[0]是第一个input标签

如果不能确定是第几个,还可以判断
var s = window.opener.document.getElementsByTagName("input")[0];
if ( s.value=='refresh' )
//do something


你的click()事件写的莫名其妙,click并不是getElementsByTagName的属性或方法,当然不能生效
click()事件需要触发,然后回调函数执行相关操作

var s = window.opener.document.getElementsByTagName
if ( s.value=='refresh' )
_doClick('482574EB0030EB86.62dd28fbaafdc672482576960026f3ec/$Body/0.6390', s, null);
参考技术A 如果父页面有一个id为btn的按钮,想要触发该按钮就是:parent.document.getElementById("btn").click() 参考技术B 看一下这个Button外层有没有name 参考技术C 那你是否能获得这个按钮更多信息呢?
比如它放在哪个td中?可以从td的id属性找到td,再获得里面的这个按钮对象

jq 在iframe中点击按钮,父元素触发事件

我的父页面嵌套了一个iframe,用来显示子页面,点击父页面的链接后,这个iframe的子页面弹出来。子页面有个关闭按钮,可以关闭这个这个iframe。问题就是怎么点击子页面的按钮来关闭父页面的窗口呢?
不考虑使用插件,最好使用jquery来实现

 方法如下:
  当在段落上按下鼠标按钮时执行一段 JavaScript:
  <p onmousedown="mouseDown()">请点击此文本!</p>

  定义和用法
  onmousedown 属性在鼠标按钮在元素上按下时触发。
  提示:相对于 onmousedown 事件的事件次序(限于鼠标左/中键):
  onmousedown onmouseup onclick
  相对于 onmousedown 事件的事件次序(限于鼠标右键):
  onmousedown onmouseup oncontextmenu
  注释:onmousedown 属性不适用以下元素:<base>、<bdo>、<br>、<head>、<html>、<iframe>、<meta>、<param>、<script>、<style> 或 <title>。
参考技术A 在父页面写个函数触发按钮的click事件,然后在子页面中调用该函数就行了!!!同域下子页面才能直接调用父页面中的函数。

以上是关于急:js 如何在子页面触发父页面的某个按钮的主要内容,如果未能解决你的问题,请参考以下文章

jq 在iframe中点击按钮,父元素触发事件

VueJS:在子组件中触发事件时在父组件中运行函数

iframe加载一个页面,在子页面中使用js 控制父页面的div显示(父页面的div刚开始是隐藏)

父窗口刷新的问题!

如何在子页面得到其所在的iframe

子窗口关闭,父窗口如何刷新