2010-06-29 25 views
1

我已经构建了一个cakephp网站,可以让用户上传文件,所有工作都很好,但我想在上传时显示一个图片,说明“文件上传”或其他内容。现在我知道我应该使用$ ajax->表单助手,但我似乎无法让这个工作。有人能指出我在正确的方向,请与cakephp一起使用Ajax上传文件

<?php echo $ajax->form(array('type' => 'post', 
    'options' => array(
     'model'=>'Upload', 
     'update'=>'post2', 
     'action' => 'add', 
     'confirm' => 'Are you sure?', 
     'indicator' => 'loading', 
     'before' => '$("#post2").html("Wait a moment")' 

    ) 
)); 
?> 

    <fieldset> 
     <legend><?php __('Add Upload');?></legend> 

    <?php echo $form->input('title'); ?> 

    <div id="formUpdate"> 

</div> 

    <?php echo $form->input('Uploaded.uploaded_file', array('type' => 'file', 'label' => 'Upload file')); ?> 


    </fieldset> 
<?php echo $form->end('Submit');?> 
</div> 

    <div id="post2"></div> 
+0

请缩进您的代码4个空格。 – Amadan 2010-06-29 14:20:35

回答

0

好吧,如果你不想使用Ajax上传的解决方案,那么就可以用简单的JavaScript来实现。我会解释如何处理jQuery,但是您也可以使用任何库或纯JavaScript来实现。在表单的提交按钮

<div id="wait">File is uploading please wait</div> 

然后附上以下功能:

因此,创建一个隐藏的div包含您请稍等消息即

function pleaseWait(){ 
    $('#your_form_id').hide(); 
    $('#wait').show(); 
} 

这基本上将隐藏的形式和将显示等待容器。文件上传完成后,页面将被重定向,因此您不必担心如何再次显示表单。

我已经做了我的项目,它工作得很好。

+0

完美,漂亮,简单!谢谢你的帮助! – jamessy 2010-07-05 09:58:08