我有一个带有iframe的网页,该网页最初有一个带有id checkout-window的空src属性:
<div id="checkout-window" style="display:none"><iframe src=""></iframe></div>
我想在JQuery UI模式中显示iframe,所以一旦用户点击checkout按钮,它就会调用placeOrder函数,该函数使用JQuery来设置iframe源,然后打开模态:
placeOrder()
{
$("#checkout-window iframe").attr('src','placeorder.php');
$("#checkout-window").dialog(
{
modal: true,
autoOpen: true,
position: 'center',
show: "slide",
hide: "slide",
width: 720,
height: 700,
title: "Checkout Process"
});
}
问题是脚本placeorder.php被调用两次,我最终在我的DB中有两个命令!此外,当用户关闭模态时,它再次调用placeorder.php。当我注释掉对话框代码(仅保留属性的设置)时,它确实调用了一次。
为什么设置iframe src属性已经调用了URL?我应该如何应对这种行为?
谢谢!
答案 0 :(得分:1)
试试这个
placeOrder()
{
$("#checkout-window").dialog(
{
modal: true,
autoOpen: true,
position: 'center',
show: "slide",
hide: "slide",
width: 720,
height: 700,
title: "Checkout Process",
create: function(){
$(this).append($("<iframe></iframe>").attr('src','placeorder.php'))
}
});
}
答案 1 :(得分:0)
设置iframe的src将立即开始加载该内容。
您需要找到另一种方法来实现这一目标。