使用jquery禁用按钮

时间:2010-11-21 16:46:25

标签: jquery button

我搜索了这个网站,找不到我的问题的答案..

我有一个可以上传多个图片的HTML表单。看起来像这样

    <form enctype="multipart/form-data" method="post">
  <p>
   <label for="image1">File number 1 to upload:</label>
   <input id="image1" type="file" name="file[]" >
  </p>
        <p>
   <label for="image1">File number 1 to upload:</label>
   <input id="image1" type="file" name="file[]" >
  </p>
    //etc etc
    </form>

我想要做的是,在选择图像后禁用每个“选择文件”按钮。

如果无法做到这一点,我可以在每次选择后显示“成功”消息吗? (最多可以有20个上传按钮..)

由于

5 个答案:

答案 0 :(得分:2)

您有重复的身份证"image1"。也许这只是在您的问题中,但如果它在您的代码中,请注意它无效。

这是一个更快捷的方式:

$('input:file').change(function() {
    this.disabled = !!this.value;
});

答案 1 :(得分:1)

试试这个:

$(function(){
  $('#formID :file').change(function(){
    // if there is some value specified
     if (this.value){
       $(this).attr('disabled', 'disabled');
     }
  });
});

代码应该在指定文件后禁用文件字段。 虽然我认为这不是一个好习惯,因为用户可能也想指定其他文件。

答案 2 :(得分:1)

使用change事件:

$('input[type="file"]').change(function() {
    if($(this).val().length)
       $(this).attr('disabled','disabled'); 

});

答案 3 :(得分:1)

我认为这是所有图像输入类型的正确监听器。

$(document).ready(function() {
  //for all image inputs
  $("input:file").change(function(){
    //check if an image is submitted
    if(this.value){
        //disable element
        $(this).attr("disabled", true); 
    }
  });

});

答案 4 :(得分:0)

感谢大家的帮助,但没有人工作!每次我使用脚本禁用按钮时,都会取消上传。

我真的只需要一个点击按钮的视觉线索,所以我想出了这个,它在我的PHP页面中起作用。

$(".classclick$count").click(function(){

    $(".classclick$count").append("<span style=color:red;> < DONE </span>");

});