使用jQuery可以轻松获取所选文件名。下面的步骤将指导您如何通过jQuery获取所选文件的名称,而不需要路径。
第一步:HTML布局
要获取文件名,需要创建一个具有<input>
元素的HTML表单。在HTML表单中,必须指定type="file"
。下面的HTML代码将演示如何创建一个<input>
类型的文件字段:
<form>
<input type="file" id="file input" name="fileinput">
</form>
第二步:使用jQuery进行文件名提取
要使用jQuery获取所选文件名,可以使用下面的代码:
$('#fileinput').change(function(){
var filename = $(this).val().split('\\').pop();
alert(filename);
});
该代码使用了.change()
事件,该事件在原始文件(此处为“file input”字段)更改时触发。通过使用val()
函数,可以获取输入字段中选择的文件的完整路径。由于路径和文件名之间使用反斜杠\
分隔,所以可以使用.split()
函数将它们分离。.pop()
函数可以从数组中提取最后一个(即文件名),并返回该值。然后将文件名赋值为变量filename
。
示例说明一
例如我们创建一个HTML文件,并包含上述HTML代码与第二步的jQuery代码,现在我们在选择一个名为“example.pdf”的文件时就会直接返回文件名“example.pdf”。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery获取文件名</title>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.js"></script>
</head>
<body>
<form>
<input type="file" id="inputfile" name="inputfile">
</form>
<script type="text/javascript">
$('#inputfile').change(function(){
var filename = $(this).val().split('\\').pop();
alert(filename);
});
</script>
</body>
</html>
示例说明二
如果想要将文件名设置为某个元素的值,可以使用以下代码:
$('#fileinput').change(function(){
var file = $(this).get(0).files[0];
var filename = file.name;
$('elementid').val(filename);
});
该代码获取所选文件对象(使用.get()函数),并使用.name
属性提取文件名。最后,可以使用.val()
函数将文件名设置为元素的值。
上面的例子中,我们将文件名设置为元素的文本值:
<form>
<input type="file" id="fileinput" name="fileinput">
<p>文件名将在此处显示:<span id="filename"></span></p>
</form>
$('#fileinput').change(function(){
var file = $(this).get(0).files[0];
var filename = file.name;
$('#filename').text(filename);
});
这将在页面上创建一个文本段落,并将<span>
元素的id设置为"filename"
。对于这个<span>
元素,我们将使用.text()
函数将文件名值设置为文本内容。