Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/462.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 在HTML输入字段中选择文件时显示确认_Javascript_Jquery_Html_Css_Forms - Fatal编程技术网

Javascript 在HTML输入字段中选择文件时显示确认

Javascript 在HTML输入字段中选择文件时显示确认,javascript,jquery,html,css,forms,Javascript,Jquery,Html,Css,Forms,我有一个标准输入字段: <input type="file"> 在我的表单中,但我将其隐藏,以便我可以使用自己的图像作为按钮(如stackoverflow上的许多答案所示) 但是,当使用此方法时,不会向用户确认他们的文件已被选中,因为标准输入框是隐藏的,因此他们永远看不到文件名 因此,我的问题归结为:如何检测文件已被选中,然后在页面上显示某些内容(而不是警告框)?理想情况下,我只想显示一个小图标或一些文字,上面写着“文件已选定” Jquery很好,但是如果有一种不用它的方法,我

我有一个标准输入字段:

<input type="file">

在我的表单中,但我将其隐藏,以便我可以使用自己的图像作为按钮(如stackoverflow上的许多答案所示)

但是,当使用此方法时,不会向用户确认他们的文件已被选中,因为标准输入框是隐藏的,因此他们永远看不到文件名

因此,我的问题归结为:如何检测文件已被选中,然后在页面上显示某些内容(而不是警告框)?理想情况下,我只想显示一个小图标或一些文字,上面写着“文件已选定”


Jquery很好,但是如果有一种不用它的方法,我更喜欢它。谢谢

如果您收听元素上的更改事件,您将知道何时选择了文件:

$('input').change(function(){
    console.log($(this).val());
});
如果要显示文件名,可以使用
$(this).val()
。如果不想使用jQuery,则需要查找
onchange
事件


Fiddle:

如果您收听元素上的更改事件,您将知道何时选择了文件:

$('input').change(function(){
    console.log($(this).val());
});
如果要显示文件名,可以使用
$(this).val()
。如果不想使用jQuery,则需要查找
onchange
事件


Fiddle:

这是一种非常简单的方法,无需使用Jquery。当然,您必须更改id以匹配您的html

下面是一个指向JSFIDLE示例的链接:

HTML部分:

<input id="file-select" type="file">

<div id="file-selected"></div>

这是一种不使用Jquery的非常简单的方法。当然,您必须更改id以匹配您的html

下面是一个指向JSFIDLE示例的链接:

HTML部分:

<input id="file-select" type="file">

<div id="file-selected"></div>

这是您正在查找的代码。 要获得更好的UI性能,请查看Internet Explorer 8+

HTML和JavaScript:


文件选择器
函数fileValidator()
{
var fileName=document.forms[“FileForm”][“fileName”].value.replace(“C:\\fakepath\\”,”);
var response=confirm(“您确定要上传“+fileName+”?”);
控制台日志(响应);
如果(响应==false)
{
document.forms[“FileForm”][“fileName”]。value=“”;
}
}

这是您正在查找的代码。 要获得更好的UI性能,请查看Internet Explorer 8+

HTML和JavaScript:


文件选择器
函数fileValidator()
{
var fileName=document.forms[“FileForm”][“fileName”].value.replace(“C:\\fakepath\\”,”);
var response=confirm(“您确定要上传“+fileName+”?”);
控制台日志(响应);
如果(响应==false)
{
document.forms[“FileForm”][“fileName”]。value=“”;
}
}

如果您想找到一种不使用jQuery或JavaScript(是的,包含jQuery)的方法,那么您不能。你必须使用一个脚本来监听输入字段的变化。如果你想在没有jQuery或JavaScript(是的,包含jQuery)的情况下实现这一点,你不能。您必须使用一个脚本来侦听输入字段的更改。这正是我想要的,谢谢!我希望我能投票,但我还没有15个名声,对不起!没问题,我很高兴它很有用这正是我想要的,谢谢!我希望我能投票,但我还没有15个名声,对不起!没问题,我很高兴这很有帮助