javascript - 如何启用文件选择按钮?

标签 javascript jquery html twitter-bootstrap twitter-bootstrap-3

我有一个图像上传弹出窗口,如果没有选择文件并单击上传按钮,我会在其中声明验证。并且上传按钮被禁用。

我需要启用按钮,错误 div 必须在选择文件后消失。

HTML

<button type="button" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal">Open Modal</button>

<!-- Modal -->
<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <label for="file">Upload Image:</label>
                <input type="file" name="file" id="file" accept=".gif, .jpg, .png, .jpeg" style="width: 100%;" />
                <input type="hidden" name="recipeId" value="@ViewBag.RecipeId" />
                <input type="submit" value="Upload" class="submit" id="UploadButton" />

                <div class="row margin-top">
                    <div class="alert alert-danger col-md-12" id="errorMessageDiv" style="display:none;">Please select an Image to Upload.</div>
                </div>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

JavaScript

$(document).ready(function () {
        $('#UploadButton').click(function () {
            if ($('#file').val() == "") {
                $('#errorMessageDiv').show();
                $('#UploadButton').prop("disabled", true);
                return false;
            }
            else if ($('#file').val() != "") {
                $('#errorMessageDiv').hide();
                $('#UploadButton').prop("disabled", false);
                return true;
            }
        });
    });

我的 Fiddle

最佳答案

您必须编写文件输入更改事件来检查 val() 长度

$(document).ready(function () {
        $('#UploadButton').click(function () {
            if ($('#file').val() == "") {
                $('#errorMessageDiv').show();
                $('#UploadButton').prop("disabled", true);
                return false;
            }
            else if ($('#file').val() != "") {
                $('#errorMessageDiv').hide();
                $('#UploadButton').prop("disabled", false);
                return true;
            }
        });

        $('#file').change(function(){
        if($(this).val().length>0)
        {
         $('#errorMessageDiv').hide();
         $('#UploadButton').prop("disabled", false);
        }                 
        });
    });

希望对你有帮助

关于javascript - 如何启用文件选择按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34736805/

相关文章:

javascript - HTML 表 : Word Break AND Limit Td Height?

javascript - angularjs 多重解析与 loadsequence 和 auth 权限

jquery - 在 Essential Grid 中禁用悬停效果 - 仅适用于手机

javascript - 表单 "submit"按钮文本(和宽度/高度/值)在按键时消失或更改 btn 值

javascript - 将输入保存在数组中并显示所有项目 jquery\javascript

jquery - ReportViewer 控件在 WebForm 上呈现太宽

jquery - 悬停时打开一个弹出窗口,但仅当我单击页面的其余部分或关闭按钮时它才会关闭

jquery - 使用箭头键导航 HTML 表格

html - css nth-child(3n+1) 在子节点之间有 'another' 元素时不起作用

javascript - 如何将 javascript 变量发送到 PHP 文件以分配给 PHP 变量?