jQuery Filer:如何在我的表单上禁用/启用

Posted

技术标签:

【中文标题】jQuery Filer:如何在我的表单上禁用/启用【英文标题】:jQuery Filer: how to disable/enable on my form 【发布时间】:2017-04-15 09:41:07 【问题描述】:

您好,我正在我的页面上实现一个带有文件上传框的表单。我决定使用 jQuery Filer 插件,它工作得很好。我希望能够基于单选按钮禁用或启用文件上传器,但不知道如何禁用插件的功能。

任何帮助都会很棒。

不确定要包含什么代码,文件上传器本身是通过输入调用的:

<input type="file" name="files[]" id="file_uploader" disabled="true" multiple="multiple">

我正在尝试但不起作用的 js 是:

$('#file_uploader).disabled = 'disabled';

但它不起作用......有什么想法吗?


还是不行!

这是我现在拥有的代码:

function enable_img(status)
    if (status=='true')
            $("#img_desc").prop('disabled', false);
            $("#img_desc").attr("placeholder", "Add a description for image(s)");
            $("#img_file").prop("disabled", false);
     else 
            $("#img_desc").prop("disabled", true);
            $("#img_desc").attr("placeholder", "");
            $("#img_desc").val("");
            $("#img_file").prop("disabled", true);

    */

html部分:

<div class="form-group">
    <label for="img_req" class="col-md-3 control-label">Do you want to add an image??</label>
    <div class="col-md-8">
        <div class="btn-group" data-toggle="buttons" id="img_req">
            <label class="btn btn-primary">
                <input type="radio" name="options" id="img_yes" autocomplete="off" onchange="enable_img('true');"> Yes
            </label>
            <label class="btn btn-primary active">
                <input type="radio" name="options" id="img_no" autocomplete="off"  onchange="enable_img('false')" checked> No
            </label>
        </div>
        <br></br>
        <textarea class="form-control" rows="3" id="img_desc" placeholder="" disabled="true"></textarea>
    </div>
    <label for="img_file" class="col-md-3 control-label">Image File(s)</label>
    <div class="col-md-8">
        </br>
        <div class="input-group">
            <input type="file" name="files[]" id="img_file" disabled="true" multiple="multiple">
        </div>
    </div>
</div>

#img_desc 更改正常,并按预期禁用和启用,但 #img_file 没有任何反应。任何帮助都会很棒!

【问题讨论】:

还是不行。我认为这与我用来预览/上传文件的插件(jQuery-Filer)有关。我已将我现在尝试使用的代码添加到我上面帖子的底部。 您检查答案了吗?如果正确,请接受/投票。谢谢! 【参考方案1】:
    您应该对要禁用的元素使用prop 函数。 我猜您希望在选中/取消选中复选框时发生这种情况,因此我还为此添加了一个示例。

$('#chk1').on('change', function() 
   $('#file_uploader').prop('disabled', !$(this).is(':checked'));
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<input type="checkbox" id="chk1" /> enable/disable<br />

<input type="file" name="files[]" id="file_uploader" disabled="true" multiple="multiple">

【讨论】:

以上是关于jQuery Filer:如何在我的表单上禁用/启用的主要内容,如果未能解决你的问题,请参考以下文章

远程表单提交禁用的输入

使用 Jquery Validator 出现验证错误时如何避免或禁用表单提交

启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?

在登录表单上禁用 CSRF 令牌

为啥我的 PostBack 在我的 jQuery 点击事件之前发生?

jQuery:启用/禁用日期选择器