<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
