2012-01-01 83 views
1

我已经放在一起PHP脚本和允许用户上传图像文件的小形式。就目前而言,这是通过父HTML页面上的按钮的“onclick”事件作为弹出窗口激活的。替代弹出窗口

从我在这个网站上做的研究中,我知道'弹出窗口'并不是每个人都喜欢的,所以我真的在寻求一些建议,看看是否有其他的选择窗口。我已经尝试了jQuery模态对话框,并且遇到了各种各样的问题,因为我有多个提交按钮,所以如果可能的话,我宁愿不转换,尽管模式对话框的样式是沿着正确的线条。

+0

描述“各种各样的问题,因为我有多个提交按钮”,因为jquery模式对话框或另一个jQuery解决方案是要走的路。 – Olaf 2012-01-01 16:35:46

+0

为什么弹出窗口/对话框?任何方式尝试fancybox或灯箱。 – Sawny 2012-01-01 16:37:32

+0

嗨,非常感谢回复我的帖子。即使在一些成员收到一些优秀的学费后,我也无法在主要表单上提交“提交”操作,即提交完整的表单以独立于提交我正在上传的图像。亲切的问候 – IRHM 2012-01-01 16:39:28

回答

1

就我个人而言,我是JQuery UI模式对话的粉丝,因为它是轻量级的,我已经在我的应用中加载UI。

但还有更多的事情在这里......问题不在于对话框,而是您尝试在对话框中进行文件上传的事实。上传文件的传统方法是通过$ _POST。这很好,除了你的表单需要一个动作,并且该动作默认会强制加载页面,即使你将它发布到自己。因此,在实践中,如果您确实上传了传统方式,则不会有模式对话框。

你可能要找的是做文件上传的“Ajax”方法。这不是真的ajax .....你会做的是上传到页面中的“隐藏”iFrame,该页面便于上传,看起来没有重新加载。 Here's a tutorial ......那里有一百万人。

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

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

+0

感谢您花时间阅读并回复我的文章。链接和你的指导是现货!再次非常感谢和亲切的问候。 – IRHM 2012-01-01 17:58:01

1

为什么不试试看lightbox? http://en.wikipedia.org/wiki/Lightbox_(JavaScript

有各种各样的lightbox克隆可用,您可以使用带有上传器窗体的iframe。看看这里的比较:http://planetozh.com/projects/lightbox-clones/

+0

嗨,非常感谢您看我的文章。我看过“灯箱”,它看起来是一个伟大的软件。我遇到的问题是,我需要将主页面的ID链接到为该特定记录保存的图像。而不是试图解释,请找到我的网页的链接。 http://www.mapmyfinds.co.uk/development/test.php。正如你可以看到用户通过页面工作,然后在底部,他们被问到是否要上传任何图像。我使用PHP将图像保存到一个文件夹,因为这是我认为链接主要记录和链接图像的唯一方式。亲切的问候 – IRHM 2012-01-01 16:45:57

+0

我认为你已经找到了解决方案,但你可以链接到主页的ID的权利?如果您使用GET参数打开iframe,则可以将主ID添加到iframe中的上载表单中。 – Tieme 2012-01-02 12:41:53

1

至于我知道这是非常简单和较少的JavaScript弹出窗口。这可能会帮助你。 less javascript popup box

+0

嗨,非常感谢您花时间给我发送这个链接,这是一个很好的例子。亲切的问候 – IRHM 2012-01-01 17:58:41

+0

高兴地帮助你...欢迎。 – VKGS 2012-01-01 18:03:04