我有一个包含iframe的页面。在iframe中有一个提交按钮。当我单击提交按钮时,我希望更新父窗口。 这是我到目前为止所做的,它的工作原理(javascript位于父窗口中):
var myFrame = $('iframe');
myFrame.load(function() {
myFrame.contents().find('#publish').click(function() {
myFrame.load(function() {
location.reload();
});
});
});
代码有效。但我发现iframe的重新加载是不必要的。 有没有更好的方法来检测“提交”何时完成?
(我无法通过“onclick”重新加载页面或在任何延迟时继续。我必须确保提交表单已完成)
答案 0 :(得分:0)
假设publish
是唯一的,您可以这样做:
$(document).ready(function(){
$('#publish').live('click', function(e){
e.preventDefault();
//Do whatever you want here
});
});
请注意live
会在运行时将偶数绑定到publish
链接。
答案 1 :(得分:0)
您可以让表单提交返回一个js块:
<html>
<script>
window.parent.document.jQueryFunction();
</script>
</html>
或者,如果您对插件开放,则可以使用the jQuery Form Plugin的ajaxSubmit()方法。
$myFrame.contents().find('form').ajaxForm({
success: function() {
// update parent
}
});
答案 2 :(得分:0)
$("#publish").click(function() {
$('#inputs').ajaxSubmit({
success:function(){
//alert("Reload called");
parent.location.reload();
}
});
});
这很有用。