Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JQuery输入类型文件上载验证IE问题_Javascript_Jquery - Fatal编程技术网

Javascript JQuery输入类型文件上载验证IE问题

Javascript JQuery输入类型文件上载验证IE问题,javascript,jquery,Javascript,Jquery,我最终找到了如何验证使用InputFile元素选择的文件。我要做的是检查文件类型,如果它与我想要的扩展名匹配,那么我将它返回到一个文本框,如果它不匹配,我将再次触发输入文件元素 问题是IE9/10第一次触发输入文件元素,但不是第二次。FireFox就像一个魔咒 <input type="file" id="fleTest2" style="display: none;"> <input type="text" id="txbText2" style="cursor: point

我最终找到了如何验证使用InputFile元素选择的文件。我要做的是检查文件类型,如果它与我想要的扩展名匹配,那么我将它返回到一个文本框,如果它不匹配,我将再次触发输入文件元素

问题是IE9/10第一次触发输入文件元素,但不是第二次。FireFox就像一个魔咒

<input type="file" id="fleTest2" style="display: none;">
<input type="text" id="txbText2" style="cursor: pointer;" readonly="readonly">
<script type="text/javascript">
    $(document).ready(function(){
        $('#txbText2').click(function() {
            $(this).blur();
            $('#fleTest2').trigger('click');
        });
        $('#fleTest2').change(function() {
            var vals = $(this).val(), val = vals.length ? vals.split('\\').pop() : '';
            var filetype = vals.split('.').pop().toLowerCase();
            if ($.inArray(filetype, ['txt']) == -1) {
                alert('Please select only text files');
                $(this).click();
            } else {
                $('#txbText2').val(val).blur();
            };
        });
    });
</script>

$(文档).ready(函数(){
$('#txbText2')。单击(函数(){
$(this.blur();
$('#fleTest2')。触发器('click');
});
$('#fleTest2').change(function(){
var vals=$(this.val(),val=vals.length?vals.split('\\').pop():'';
var filetype=vals.split('.').pop().toLowerCase();
if($.inArray(文件类型,['txt'])=-1){
警报(“请仅选择文本文件”);
$(此选项)。单击();
}否则{
$('#txbText2').val(val.blur();
};
});
});
更改此选项:

$('#fleTest2').trigger('click');
为此:

$('#fleTest2').trigger('change'); //<---use change not click
然后您也可以触发
单击

$('#fleTest2').trigger('click');

谢谢,洁。这不是我的问题所在。问题就在if语句中。在我选中文件后。
$('#fleTest2').trigger('click');