我已经建立了一个可以让用户上传文件的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 :(得分:0)
好的,如果您不想使用Ajax上传解决方案,那么可以通过简单的javascript实现。我会解释如何处理jQuery,但你也可以用任何库或纯javascript来实现。
因此,创建一个隐藏的div,其中包含您的等待消息,即:
<div id="wait">File is uploading please wait</div>
然后在表单的提交按钮上附加以下功能:
function pleaseWait(){
$('#your_form_id').hide();
$('#wait').show();
}
这基本上会隐藏表单并显示等待容器。文件上传后,页面将被重定向,因此您无需担心如何再次显示该表单。
我已经在我的项目中做到了,而且效果很好。