php - 检查文件上传字段是否为空后如何替换提交按钮?

标签 php jquery file-upload

我有一个文件上传表单:

<form method="post" enctype="multipart/form-data">
  <input type="file" name="image_1" /> 
  <input type="submit" name="upload_photo" id="upload_photo" />
</form>

我有一个上传文件的 php 脚本,但我注意到每当我上传较大的文件时,提交表单和重新加载页面可能需要长达 10 秒的时间。用户单击提交后,我希望将提交按钮替换为消息。我写了一些 jQuery 来实现这个功能:

$("#upload_photo").click(function() {                       
  $("#upload_photo").replaceWith('<p>Image is uploading. Please wait...</p>');                      
});

这很好地替换了提交按钮,但问题是即使文件上传字段为空,它也会替换提交按钮。因此,在用户单击提交按钮后,我需要检查字段上传字段是否有值,如果有,则用消息替换按钮。我在这里尝试过:

if($_FILES['image_1']['tmp_name'] != '') {
  $image_uploaded = true;
}

if($image_uploaded == true) { //If a file has been uploaded
  echo '<script type="text/javascript">
      $("#upload_photo").replaceWith("<p>The image is uploading. Please wait...</p>");
        </script>
  ';
}

不幸的是,这不起作用,文件上传时没有替换提交按钮。我尝试用警报替换 .replaceWith 行,但表单将上传图像,重新加载页面,然后显示警报,但为时已晚。

如何在检查文件上传字段是否为空后替换提交按钮?

最佳答案

只需检查文件输入字段中是否有值

if ($("[name=image_1]").val()){
    $("#upload_photo").replaceWith('<p>Image is uploading. Please wait...</p>'); 
}

关于php - 检查文件上传字段是否为空后如何替换提交按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11287265/

相关文章:

php - 从多个表复制列值并插入 Laravel 中的第三个表

javascript - 复杂的网站,需要更新与 jQuery 共享类的按钮

firefox - Blazor 文件输入单击在 Firefox 中不起作用

javascript - 不推荐访问存储桶虚拟托管样式的 URL? (AWS S3)

ruby-on-rails-3 - 在 Rails 应用程序中使用什么来上传不同的文件格式(音频、视频)?

php - 自动完成文本框不起作用

php/mysql问题,检索信息

javascript - 通过前一个复选框更改文本框值

php - 在后端模块中获取记录本地化

javascript - 当键盘在移动设备上可见时,jQuery/js/html5 更改页面内容