[英]External POST form through iframe
我正在嘗試獲取一個包含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>
您正在嘗試使用以下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()
})
});
首先,更正以下錯誤,然后查看是否有效:
您正在尋找的是您的content-url中的以下內容:
<?php bloginfo('siteurl') . '/?a_action=delete_auction&pid=' . $the_ID; ?>
$(document).ready(function() {}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.