在php自我提交表单中显示加载消息

时间:2012-05-02 15:56:18

标签: php jquery form-submit

我有上传视频的任何形式,这可以使用PHP / MySQL并提交 PHP_SELF 操作。如果上传视频= TRUE我打印视频成功,如果上传视频= FALSE我打印错误信息。

现在我需要在点击提交按钮后显示显示加载消息或加载gif动画(使用jQuery),并在显示TRUE / FALSE上传消息后隐藏加载消息。有没有办法创造这个?

我的表格:

<?PHP
if (isset($_POST['submit']) && $_POST['submit'] == 'uploadvideo')
     {
      //CHECK TRUE OR FALSE .....
     }
if (isset($uploaded) && $uploaded == TRUE){?>
     <div class="successbox">success upload!!!</div>
<?PHP } 
if (isset($uploaded) && $uploaded == FALSE)
    {?>
     <div class="errorbox">error upload!!!</div>
<?PHP } ?>

    <form action="<?PHP echo URL . '/video.php?id=' . int($_GET['id']);?>" method="POST" enctype="multipart/form-data">
      <table width="100%" cellpadding="5" cellspacing="0" border="0">
      <input type="file" size="40" name="video_file" maxlength="50">
      <input type="Submit" name="submit" value="uploadvideo">
      </table>
      </form>

1 个答案:

答案 0 :(得分:3)

最简单的最快解决方案是在表单中添加一个隐藏的<div>元素,其中包含加载消息或动画gif,当您单击提交按钮时,您将使用jQuery显示<div>标记:< / p>

<form action="..." method="POST" enctype="multipart/form-data" onsubmit="$('#loading').show();">
  <div id="loading" style="display:none">Uploading...</div>

  <table width="100%" cellpadding="5" cellspacing="0" border="0">
    <input type="file" size="40" name="video_file" maxlength="50">
    <input type="Submit" name="submit" value="uploadvideo">
  </table>
</form>

如果你想要更实用的东西(比如实际的进度条),你需要研究一下flash解决方案(比如swfupload)。

从PHP 5.4开始,您也可以在_SESSION(more details here)中找到上传进度,但看到PHP 5.4刚刚发布,您将找不到许多已经拥有此功能的虚拟主机。