отключить кнопку с помощью jquery - PullRequest
3 голосов
/ 21 ноября 2010

Я искал на этом сайте, не могу найти ответ на мою проблему ..

У меня есть 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 ]

2 голосов
/ 21 ноября 2010

У вас есть повторяющиеся идентификаторы "image1".Возможно, это только в вашем вопросе, но если это в вашем коде, помните, что он недействителен.

Вот немного более быстрый способ:

$('input:file').change(function() {
    this.disabled = !!this.value;
});
1 голос
/ 21 ноября 2010

Используйте событие change:

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

});
1 голос
/ 21 ноября 2010

Я думаю, что это правильный слушатель для всех типов ввода изображения.

$(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); 
    }
  });

});
1 голос
/ 21 ноября 2010

Попробуйте это:

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

Код должен отключить поле файла после того, как файл был указан. Хотя я не думаю, что это хорошая практика, потому что пользователь может захотеть указать и другой файл.

0 голосов
/ 22 ноября 2010

Спасибо всем за помощь, но никто не работал! Каждый раз, когда я использовал скрипт для отключения кнопки, он отменял загрузку.

Мне действительно нужен был только визуальный признак того, что кнопка была нажата, поэтому я придумал это, и это сработало на моей странице PHP.

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

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

});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...