我要测试给定文件的扩展名
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>
但是它什么也没显示,谢谢您
答案 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;
}
}