使用Internet Explorer 6.0时输入文件的数量不正确

时间:2011-10-31 10:46:54

标签: 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 == "" && 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(正确)

2 个答案:

答案 0 :(得分:1)

尝试使用小写文件$("input[type=file]").length,而不是文件

来自sitepoint.com的参考

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

  

区分大小写属性选择器中指定的值是大小写   如果标记语言中的属性值是大小写,则为敏感   敏感。因此,HTML中的id和class属性的值是大小写的   敏感,而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 :(得分:0)

您无法设置文件输入的某些属性。真正的专家告诉我这是一个安全风险。 如果您确实需要更改外观,请在文件输入上将不透明度调低至0,并设置文本输入和按钮以置于后面