用JS HTML扩展文件

时间:2019-06-07 13:17:07

标签: javascript html

我要测试给定文件的扩展名

  

JS

function get_extension(file_name) {
    return file_name.split('.').pop();
}

function check_file_type(file) { 

    switch(get_extension(file)) {
        case 'jpg': case 'gif': case 'png':
            var element = document.getElementById('p');
            element.innerHTML = "Je suis une image";
            break;

        case 'mp4' :
            var element = document.getElementById('p');
            element.innerHTML = "Je suis une video";

    }
}
  

HTML

   <button onclick="check_file_type(<%=(chemin_photo1)%>)">Click me!</button> 
   <p id="p"></p>

但是它什么也没显示,谢谢您

2 个答案:

答案 0 :(得分:2)

我想chemin_photo1是一个字符串,而不是全局变量的名称,因此您需要将其用引号引起来

<button onclick="check_file_type('<%=(chemin_photo1)%>')">Click me!</button>

答案 1 :(得分:2)

您应该在这里考虑一些事项。 首先,什么来自服务器。正如@Frederico所建议的,必须将其引号,因为它应该是文件名(字符串)

<button onclick="check_file_type('<%=(chemin_photo1)%>')">Click me!</button>

接下来,您必须始终检查传递的参数的值是什么。它应该在函数的开头或在 case 块中作为默认,因为即使引用服务器输出,它仍可能是一个空字符串( ),并且在您的情况下,它似乎无法正常工作。

function check_file_type(file) { 

    var element = document.getElementById('p');

    switch(get_extension(file)) {
        case 'jpg': case 'gif': case 'png':
            element.innerHTML = "Je suis une image";
            break;

        case 'mp4' :
            element.innerHTML = "Je suis une video";
            break;

        default:
            element.innerHTML = "oh-la-la!";
            break;
    }
}