我试图获取一个包含POST表单的页面,以便在iframe中加载,以便用户能够确认删除列表等操作。我已经成功地将JS和表单页面加载到iframe中,但是当我单击表单内的操作时,它没有更新列表。相反,它只是刷新页面。
表单工作正常,因为如果我尝试在浏览器中手动访问content-url
并更新表单,它就可以正常工作。
如何才能刷新iframe内容而不是父页面并在iframe中加载响应?我到底做错了什么?
任何帮助表示赞赏!!
这是我的代码:
HTML:
<button class="myclass" content-url="<?php bloginfo('siteurl') ?>/?a_action=delete_auction&pid=<?php the_ID(); ?>">Delete Me</button>
<div class="popup"><iframe id="mynewiframeid" name="myframename" src=""></iframe></div>
JS:
$(document).ready(function() {
$(document).click(function(e) {
if ($(".popup").is(":visible")) {
$(".popup").fadeOut("fast")
}
});
$(".myclass").click(function() {
if (!$(".popup").is(":visible")) {
$('#mynewiframeid').attr('src',$(this).attr('content-url'));
$(".popup").fadeIn("slow");
}
return false;
});
$(".popup").click(function(e) {
e.stopPropagation()
})
});
形式:
<div class="popup_content">
<h3> You are about to delete <b><?php echo $title; ?></b>!</h3>
<?php
if(isset($_POST['yes_confirm']))
{
$s = "update ".$wpdb->prefix."posts set post_status='trash' where id='$pid'";
$wpdb->query($s);
echo '<div class="deleted_item_ok">';
printf(__('Your item has been deleted successfully!'));
echo '</div>';
}
else
{
?>
<form method="post">
<div class="are_you_sure_delete">
<?php
_e('Are you sure you want to delete this item?');
?>
</div>
<button class="button-small button-w-green" type="submit" id="submits" name="yes_confirm">Yes, Delete</button>
<button class="button-small button-w-red" type="submit" id="submits" name="no_confirm">No!</button>
</form>
<?php } ?>
</div>
答案 0 :(得分:1)
您正尝试使用以下js代码替换类“popup”中的html ..
HTML => <div class="popup"><iframe id="iframeid" src=""></iframe></div>
JS => $('.popup').html(response);
这将使用响应替换上面HTML中的iframe元素。因此,在回复之后,页面内没有iframe ..
如果您确实想使用iframe,我认为您不必处理AJAX。而只需更改iframe的src。您可以使用以下js代码..
$(document).ready(function() {
$(document).click(function(e) {
if ($(".popup").is(":visible")) {
$(".popup").fadeOut("fast")
}
});
$(".myclass").click(function() {
if (!$(".popup").is(":visible")) {
$('#iframeid').attr('src',$(this).attr('content-url'));
$(".popup").fadeIn("slow");
}
return false;
});
$(".popup").click(function(e) {
e.stopPropagation()
})
});
答案 1 :(得分:0)
首先,纠正以下错误,然后查看它是否有效:
您正在寻找的内容是您的内容 - 网址:
<?php bloginfo('siteurl') . '/?a_action=delete_auction&pid=' . $the_ID; ?>
$(document).ready(function() {}