既然我是初学者,我就有一个初学者的问题。
使用著名的fancyBox插件。它在头脑中是这样称呼的:
$(document).ready(function() {
$(".fancybox").fancybox();
});通常,通过添加类名来附加脚本:
<a class="fancybox fancybox.iframe">...</a>我现在遇到的困难是因为我想在用户提交表单之后运行fancyBox弹出:
<form action="http://maps.google.com/maps" method="get">
...(google API stuff etc, etc)...
<input type="submit" value="...">我对这一点的研究使我得出结论,我可能必须在
<input type="submit">然而,事实证明,我的实验是徒劳的。
任何帮助都将不胜感激。
========================================
更新:(1/7/2013)
我撤回我的问题,是因为我显然是在探讨目前稍微超出我头上的主题。我选择不删除这个问题,以防将来有人在这里发现一些有用的东西。谢谢大家的帮助。
我的理由是:谷歌的方向似乎不允许在<iframe>中显示。考虑到这一点,为fancyBox配置一个解决方案将非常复杂。我放弃了fancyBox,带着普通的旧Javascript走了:
发布于 2013-01-02 05:40:07
使用$.ajax发布表单将为您提供最大的控制权。然后,您可以从客户端控制成功和错误条件。
要做到这一点,您需要捕获submit事件:
$('#form').submit(function() {
ajaxUpdate();
return false;
});然后创建一个函数:
function ajaxUpdate(){
var formSerial = $('#form').serialize();
$.ajax({
url: '<url to post to>',
dataType: "text",
type: "POST",
data: formSerial,
success: function(text) {
$(".fancybox").fancybox();
},
error: function(text) {
alert('error in posting');
}
});
}然后,您可以在成功和错误块中做自己喜欢的事情。
要加载窗口,可以将以下内容添加到函数中:
if(confirm("Do you want to open the directions?")){
$.fancybox({
'titleShow': false,
'width': 370,
'height': 300,
'href': <URL>,
'type': 'iframe'
});
}发布于 2013-01-02 05:26:57
使用jquery可以实现:
$('#target').submit(function() {
$(".fancybox").fancybox();
return false;
});在花式框'ok‘按钮后,单击提交表单。
希望这个想法会有帮助。
https://stackoverflow.com/questions/14117057
复制相似问题