Неверный номер входного файла при использовании Internet Explorer 6.0

#jquery #internet-explorer

#jquery #internet-explorer

Вопрос:

У меня есть эта функция нажатия кнопки jquery:

    $("#NextButton_ButtonCtrl").live("click", function (event) {

    var i = 0;
    var success = 1;
    var n = $("input[type=File]").length;
    alert('number of files:'   n);

    $("input[type=File]").each(function () {

        success = 0;
        alert('for is here');
        /*var labelId = "FondationLabel"   i   "_LabelCtrl";
        var intitule = $("span[id="   labelId   "]").text();
        var style = $(this).attr('style');
        var value = $(this).val();

        if (value == "" amp;amp; style == "True") {
        success = 0;

        $("#errorSpan").html('<span ID=errorSpan class=error-span >Merci de charger le fichier'   intitule   '</span>');
        //var MPE = $find("MPE");
        // MPE.show();
        alert('Merci de charger le fichier'   intitule);

        return false;
        }
        i = i   1;*/

    });
    alert(success);
    if (success == 0) {

        event.preventDefault();
        return false;
    }
 

проблема заключается в тестировании с ie :

  var n = $("input[type=File]").length;
        alert('number of files:'   n);
 

я получаю 0, цвет 4 (правильный)

Комментарии:

1. $("input[type=File]").length используйте это при оповещении, чтобы получить количество элементов, и у вас нет i значения, которое совпадает с i = i 1; его закомментированным, не удивляйтесь, если вы получите ноль во всех браузерах

2. Вал, проблема в приведенном выше коде .каждый. не работает с ie 6.0

3. также попробуйте использовать файл $("input[type=file]").length в нижнем регистре вместо File .

4. Да, кажется, что нижний регистр — это pb. теперь у меня проблема с $ (this).attr(‘style’); не работает, т.е. т.Е. Спасибо, Вал

Ответ №1:

попробуйте использовать файл в нижнем регистре $("input[type=file]").length вместо File

Ссылка из sitepoint.com

http://reference.sitepoint.com/css/attributeselector

Чувствительность к регистру Значение, указанное в селекторе атрибута, чувствительно к регистру, если значение атрибута на языке разметки чувствительно к регистру. Таким образом, значения атрибутов id и class в HTML чувствительны к регистру, а значения атрибутов lang и type — нет.

XHTML, когда он подается как XML, всегда чувствителен к регистру; подробнее об этом см. Различия между HTML и XHTML.

Не всегда легко запомнить, какие атрибуты HTML чувствительны к регистру, а какие нет. Обычно лучше предположить, что все чувствительно к регистру, но не полагайтесь на это!

ОБНОВИТЬ ВТОРОЙ ВОПРОС

 $("input[type=File]").each(function (i,n) {
    //$(n).attr('style');// note each. has a i,n on the function passed i, is for the increment, n is for the nth element,
    // sometimes, the each function when using $(this) may refer to every element selected, 
    // so i,n is the correct way to do it,
});
 

ОБНОВЛЕНИЕ 2

http://msdn.microsoft.com/en-us/library/985bhaz6.aspx

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

writer.AddAttribute("data-style", "true");

Комментарии:

1. Вал, пожалуйста, взгляните на приведенный выше код. $(this).attr(‘style’) сейчас не работает: <имя ввода =»FondationTextBrowser0 $ DocFile» тип =»File» идентификатор=»FondationTextBrowser0_DocFile» accept=»pdf» класс=»проверка регистра [пользовательский [email]]» стиль =»True» />

2. не используйте style=»true» помните, что style [зарезервирован для] атрибута css, используйте data-style="true" , затем используйте $(n).data('style') //вернет true;

3. стиль данных не является атрибутом входного файла, верно? я хочу что-то, что может помочь мне отфильтровать мой входной файл. это цель style=»True»,»False»

4.согласно вашему коду, да, у вас будет что-то вроде <file type="file" data-style="true" /> api.jquery.com/jQuery .данные подробнее об этом .data() и о том, как это работает, 🙂

5. проблема в том, что я устанавливаю attr на стороне сервера с помощью c #, когда я делаю file.intellisence, среди них нет стиля данных. как я могу этого добиться

Ответ №2:

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

Комментарии:

1. JB, я просто ищу атрибут на стороне сервера (asp.net c #) ввода файла, который может помочь мне отфильтровать входной файл в jquery.можете ли вы предложить дальше. На данный момент я нашел стиль и пытаюсь отфильтровать входной файл по его значению, отображаемому в DOM