file控件选择上传文件确定后触发的js事件是onchange事件。
file控件:
<input type = "file" id = "idName" multiple = "multiple">
document.getElementById("idName").file//返回的是fileList对象。
fileList对象的常用方法有name(文件名称)、type(文件类型)、size(文件大小)、lastModefiedDate(文件的最后修改时间)等
默认情况下,选择文件为单选,但是加上multiple属性之后,即可以多选。
此处的multiple属性,只写”multiple”或者是写成”multiple=’multiple’”这种形式都是可以,这点类似于autofocus,loop这类属性。个人习惯写成multiple=’multiple’这种格式。
此外,file控件还有accept属性,用于指定选择文件类型。
js中onchange事件是在客户端改变输入控件的值,比如一个textbox,会出发的一个事件。但是如果在js代码中改变一个textbox的value,而不是通过键盘输入改变一个textbox值的话,是不会出发onchange事件的。那么,如何在js代码模式通过代码触发textbox控件的onchange事件呢,经过查阅资料,发现js提供了一个方法,可以触发控件的应该是所有事件。object.fireEvent()方法,使用方法如
object.fireEvent('onchange'),即可触发控件的onchange事件。
同理,js中使用fireEvent方法还可以触发其他的空间事件。
•补充一下,上述的fireEvent方法,在firefox浏览器并不支持,那么,如果想在ie和ff都可以运行的话,可是尝试下面的代码。
复制代码
代码如下:
if
(obj.fireEvent)
{
obj.fireEvent('onchange')
}
else
{
obj.onchange()
}
也就是判断一下fireEvent事件是否可用,不可用则直接使用onchange()方法。
javascript onchange()事件:javascript onchange()事件一般用于用户表单中,例如:当文本框内容发生改变时触发的事件,或者下拉列表框内容发生改变时触发的事件等。示例分享:onchange()事件,用户输入时,将小写字母转换为大写。
此处用到了javascript中的一个方法 toUpperCase()//将小写母转换为大写字母。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>用户表单验证</title>
<script>
function changeValue(){
var userName=document.getElementById("userName")//通过Id获得对象userName
userName.value=userName.value.toUpperCase() //将对象的值进行大小写的转换赋值给当前对象的值;
}
</script>
</head>
<body>
<form name="myform" method="POST" action="register.php" onsubmit="return checkForm()">
userName:<input type="text" name="userName" value="" id="userName" onchange="changeValue()" />
<input type="submit" name="" value="用户注册" />
</form>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)