通过iframe的外部POST表单
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()
})
});
Fiddle(带有伪造的src URL)
首先,纠正以下错误,然后看看它是否有效:
- 你的右括号后缺少分号
- 关闭php标记,然后继续使用url,然后添加另一个关闭php标记
-
你要找的是这个在你的内容网址:
<?php bloginfo('siteurl') . '/?a_action=delete_auction&pid=' . $the_ID; ?>
- ID()是什么?我看不出有什么作用。如果存在,它必须返回将存储在变量$the_ID中的值。您还必须在按钮标记之前调用该函数才能获得该变量
- 在JS中,您需要将所有内容都封装在
$(document).ready(function() {}
中 - 您似乎正在尝试执行GET请求,而不是POST请求,因为您不是在正文中发送任何数据,而是在url中发送数据
- 第一个.click函数末尾缺少分号
- 我甚至没有看其他的点击功能,因为有一些重复和更奇怪的东西
相关文章:
- 如何将POST表单按钮转换为链接
- 使用jQuery生成POST表单并处理结果
- PHP 生成 POST 表单
- 如何从客户端接收节点.js中的 POST 表单数据
- 带有文件上传功能的 AngularJs Ajax POST 表单
- POST 表单动态生成的输入
- 使用 Cookie Ok for Mobile 将 POST 表单给自己
- 带有JavaScript对象(数据)的POST表单
- 将元素ID传递到数组中以进行POST表单处理
- 通过iframe的外部POST表单
- 使用PHP的POST表单数据
- 无法将书签添加到具有值的 POST 表单
- 一键提交GET表单和另一个POST表单
- jquery validate和ajax post表单的验证表单空白文本区域出错
- 使用AngularJS的POST表单数据
- Post表单在node.js测试邮差与浏览器
- Jquery post表单与多个相同的名称字段
- 服务器代码执行后的Post表单
- 如何使用JS/AJAX/JQUERY为POST表单添加头部授权
- POST表单到新选项卡.输出格式为PDF