<html> <head> <script type="text/javascript" src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.min.js"></script> <!-- 处理iframe回调的代码块 --> <script type="text/javascript"> var handlerFlag = 0; function setOnloadCallBask(obj, event, handler) { //for most explores if (null != obj && null != obj.addEventListener) { obj.addEventListener(event, handler, false); } //for IE else if (null != obj && null != obj.attachEvent) { obj.attachEvent(‘on‘+event, handler); } //not support else { //选择dom元素错误 throw new Error(‘不支持该dom元素‘); } } /* *call back. */ function ActionHandler() { //alert("call"); //文档加载或刷新时也会调用,因此需要通过标志位控制,提交时将标志位置为1,在这里处理之后修改标志位为0 if(0 != handlerFlag) { //do action alert("123123"); var value = document.getElementById("ifActionResult").contentWindow.document.body.innerHTML; if(null!=value) { var obj = eval("("+value+")"); if(obj.result=="ok") { top.document.location.href="resource.shtml"; } else { window.parent.doNotice(obj.message); } } //update flag. handlerFlag = 0; } } function sub() { handlerFlag = 1; } </script> <!-- 处理其他功能的代码块 --> <script type="text/javascript"> $(document).ready(function() { //注意这里最好在文档加载完成的时候再获取元素,否则可能获取到的一直是null setOnloadCallBask(document.getElementById("ifActionResult"),‘load‘,ActionHandler); }); </script> </head> <body> <h1 id="myHeader">这是标题</h1> <p>点击标题,会提示出它的值。</p> <iframe id="ifActionResult" name="ifTmp" width="1px" height="1px" style="display: none;"></iframe> <form action="" target="ifTmp"> <input type="submit" onClick="sub();" value="测试"/> </form> </body> </html>
其实我要找的是前端提交表单后,php怎么通过输入的js来调用原页面中的js函数,然后无意就看到这个,之前也是有遇到额,顺便收藏下。
原:http://blog.csdn.net/smilefyx/article/details/49332433
时间: 2024-11-08 18:58:26