2010-02-12 41 views
1

我真的不与Ajax和JavaScript GR8所以我寻求帮助。这里是交易,我有图片形式上传工作的老时尚方式:需要帮助创建图像上传表单

<form action="db/photo/do_upload" method="post" enctype="multipart/form-data"> <fieldset id="upload_form"> 
     <input type="file" name="userfile" size="20" /> 

    </fieldset> 
    <button type="button" class="ui-state-default">Upload</button> 
    </form> 

我想是要通过使该用AJAX网页更具吸引力,我怎么可以这样做:

一旦上传按钮被点击 - 开始上传图像 - 然后同时图像上传显示某种Ajax-loader在 的 - 当图像上传完成打印出类似谢谢

我有一个PHP部分已经实施 - 我只需要一些帮助。谢谢

回答

-1

尝试使用redy to go and fancy解决方案

+编辑+

Lightweight and not so fancy

+0

这看起来不错,但我preffer写的,而不是使用整个插件的代码几行,它增加了+ KBS到我的网页,其中已经基达重 – 2010-02-12 22:57:19

+0

这个演示是不工作..我没”牛逼downvote BTW – 2010-02-12 22:59:39

+0

@开发无效居民该脚本是越野车我downvoted – ant 2010-02-12 23:11:11

0

最根本的问题是,你不能直接通过XMLHttpRequest做一个文件上传(即 “AJAX”)。你必须发表一个表格。现在

,你可以做的是这样的:

  • 直接的形式是“目标”,以隐藏在网页的iframe(只需要声明一个iframe,给它一个“id”和“名“因为我从来不知道哪一个‘目标’是指:-)并保持‘显示:无’)
  • 在表单‘在页面上提交’,更新的东西开始活动指示器(只显示一个简单的动画GIF,或者说如果你喜欢更看中的)
  • 有服务器发送回一个响应(其中,记住,将在我们隐藏的iframe结束)这是一个小的JavaScript虚拟页面在其中告诉父页面,是时候隐藏/停止动画了。

不花哨,你不能让动画取决于文件大小,但它很简单。

0

你可以做的是使用JavaScript赶上“行动”你得到一个前到下一个页面,然后,用JS提交表单。

例如(使用jQuery),

$('button').click(
    function() { 
     $('form').submit(); 
     $('div.result').html('<p>Thanks a bunch!</p>'); 
     return false; 
    } 
); 

更改 '加载图片',以 “谢谢!”会需要来自服务器的某种信号。我刚开始使用AJAX,所以也许有人更熟悉这样的功能可以添加到这?干杯。 :)