2010-06-29 88 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