我有以下代码用于仅选择 Excel 文件。检查 FIDDLE 中的功能。它在 fiddle 中工作正常。但是当本地保存在记事本中时,此代码不起作用。 不使用 jQuery。纯 JavaScript。
以下是我在记事本中的使用方法。
<html>
<head>
<script type="text/javascript">
var file = document.getElementById('browse');
file.onclick = function(e) {
var ext = this.value.match(/\.([^\.]+)$/)[1];
switch (ext) {
case 'xls':
document.getElementById('button').disabled = false;
document.getElementById('new').innerHTML = '';
break;
case 'xlsx':
document.getElementById('button').disabled = false;
document.getElementById('new').innerHTML = '';
break;
default:
document.getElementById('new').innerHTML = 'Please choose .xls or .xlsx file';
document.getElementById('button').disabled = true;
}
};
</script>
</head>
<body>
<input type='file' id="browse" name="browse" />
<input type="submit" value="Import" id="button" disabled>
<p id="new"></p>
</body>
</html>
最佳答案
请检查此代码http://jsfiddle.net/g6KRq/9/
<input type='file' id="browse" name="browse" onchange="checke(this)" />
<input type="submit" value="Import" id="button" disabled>
<p id="new"></p>
<script>
function checke(e) {
var ext = e.value.match(/\.([^\.]+)$/)[1];
switch (ext) {
case 'xls':
document.getElementById('button').disabled = false;
document.getElementById('new').innerHTML = '';
break;
case 'xlsx':
document.getElementById('button').disabled = false;
document.getElementById('new').innerHTML = '';
break;
default:
document.getElementById('new').innerHTML = 'Please choose .xls or .xlsx file';
document.getElementById('button').disabled = true;
}
};
</script>
关于javascript - 代码在 jsfiddle 中运行良好,但在本地保存时运行不佳,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24507482/