弹出窗口的替代方案

时间:2012-01-01 16:22:13

标签: php javascript html popup

我已经整理了一个PHP脚本和小表单,允许用户上传图像文件。目前,它通过父HTML页面上按钮的“onclick”事件激活为弹出窗口。

根据我在这个网站上所做的研究,我知道'Pop Up Windows'不是每个人都喜欢的,所以我真的要求一些建议,看看是否有替代弹出窗口窗口。我已经尝试了jQuery模式对话框,我遇到了各种各样的问题,因为我有多个提交按钮,所以我宁愿不转动,如果可能的话,尽管模态对话框的样式将沿着右线。

3 个答案:

答案 0 :(得分:1)

为什么不试试灯箱呢? http://en.wikipedia.org/wiki/Lightbox_(JavaScript

可以使用各种灯箱克隆,您可以使用带有上传器形式的iframe。在这里查看比较:http://planetozh.com/projects/lightbox-clones/

答案 1 :(得分:1)

就个人而言,我是JQuery UI Modal对话框的粉丝,因为它很轻,而且我已经在我的应用程序中加载了UI。

但是这里还有更多......问题不在于对话框,而是你试图在对话框中进行文件上传。上传文件的传统方法是通过$ _POST。这样可以正常工作,除了您的表单需要一个操作,并且该操作默认会强制加载页面,即使您将其发布到自身。所以在实践中,如果你上传传统的方式,没有模态对话框可以工作。

您可能正在寻找的是执行文件上传的“Ajax”方法。这不是真正的ajax .....你要做的就是上传到页面中的“隐藏”iFrame,这样可以方便地上传,而且无需重新加载。 Here's a tutorial ......那里有一百万人。

还有一些jQuery插件可以让上传更容易.... Uploadify只是其中之一。

请注意,即使您使用“异步”方法,您仍然受到HTML的限制。有一个上传按钮或<input type="submit">将提交您的表单,虽然不正确,使表单看起来像是失败无法控制。因此,要解决此问题,请将上传按钮设置为另一个非表单提交元素,例如<a>,或者只是将您通过javascript调用的ID调用的图像。或者,将其设为按钮并使用event.preventDefault() onclick来防止默认的HTML行为。我通常用jQuery UI按钮样式来做后者。

答案 2 :(得分:1)

至于我知道这是一个非常简单且不那么javascript的弹出窗口。这可能对你有帮助。 less javascript popup box