JavaScript媒体和表单事件

媒体事件是由音视频DOM对象触发的事件。例如图片加载完成、音视频的播放和结束等事件。

表单用于通过网页收集用户输入的数据,表单由HTML输入框、复选框、单选按钮、提交按钮等元素构成。表单事件包括表单提交、重置、表单元素获取或失去焦点、表单元素内容改变等事件构成。

媒体事件

常用媒体事件如下表所示:

事件类型 描述 备注
onabort 当音频/视频终止加载时触发该事件  
onplay 当音频/视频开始播放时触发该事件  
onended 当音频/视频播放结束时触发该事件  
onerror 当音频/视频加载过程发生错误时触发该事件  
onpause 当音频/视频播放暂停时触发该事件  

媒体事件主要用于音视频的播放控制,支持<audio>和<video>标签。onabort事件是在音频或视频非正常终止加载时触发,并不是在音频和视频数据加载完成后触发。

案例代码:

<html>

<head>

    <title>JavaScript开发案例</title>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript">

window.onload=function (){

var audio = document.getElementById("id_audio");

    // 监听onabort事件

audio.addEventListener('abort',function(){

alert("onabort事件被触发");

});

// 监听onplay事件

audio.addEventListener('play',function(){

alert("onplay事件被触发");

});

// 监听onended事件

audio.addEventListener('ended',function(){

alert("onended事件被触发");

});

// 监听onpause事件

audio.addEventListener('pause',function(){

alert("onpause事件被触发");

});

}




    </script>

</head>

<body>

       <h3>JavaScript开发案例</h3>

       <audio id="id_audio" controls>

<source src="http://www.milihua.com/test.mp3" type="audio/ogg">

<source src="horse.mp3" type="audio/mpeg">

       </audio>

 </boyd>

<html>

表单事件

常用表单事件如下表所示:

事件类型 描述 备注
onblur 当DOM对象失去焦点时触发该事件  
onchange 当DOM对象内容改变时触发该事件  
onfocus 当DOM对象获取焦点时触发该事件  
oninput 当DOM对象获取用于输入时触发该事件  
onselect 用户选取文本时触发该事件  
onsubmit 当表单提交时触发该事件  
onreset 当表单重置时触发该事件  

 

onchange事件主要支持<input>, <keygen>, <select>, 和 <textarea>HTML元素。

oninput、onselect事件主要支持<input>、<textarea>HTML元素。

案例代码:

<html>

<head>

      <title>信息登记</title>

      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

  <script type="text/javascript">

 window.onload = function() {

// 获取username(input)对象

username = document.getElementById("username");

// 提示用户已获取焦点

username.onfocus = function() {

document.getElementById("text_count").innerText = "获取焦点"

}

// 用户输入时统计字符数

username.oninput = function() {

message = "已输入" + username.value.length + "个字符";

document.getElementById("text_count").innerText = message

}

// 提示用户失去焦点

username.onblur = function() {

document.getElementById("text_count").innerText = "失去焦点"

}

// 获取job_single(select)对象

job_single = document.getElementById("job_single");

// 获取用户选择的职业

job_single.onchange = function() {

// selectedIndex是选择项的索引

var index = job_single.selectedIndex

                // 获取选择项的文本

var text = job_single.options[index].value;

document.getElementById("job_text").innerText = text

}

 }




 // 处理表单提交函数

function processsubmit() {

username = document.getElementById("username");

// 若用户没有输入姓名阻止提交

if( username.value == "请输入您的姓名" )

{

   alert("请输入姓名");

   return false;

}

return true;

}

  </script>

</head>

<body>

       <h3>用户信息登记表</h3>

       <hr>

      <form action="/login.jsp" onsubmit="return processsubmit()">

          <p>姓名:<input type="text" id="username"  maxlength="20" value="请输入您的姓名"/><span style=" margin-left:30px;" id="text_count"></span></p>

          <p> 年龄:<input type="text" name="age" maxlength="20" value="请输入您的年龄"/></p>

          <p>性别:<input type="radio" name="sex" value="男" />男<input type="radio" name="sex" value="女" />女</p>

          <p>爱好:</p>

                <input type="checkbox" name="fav"  value="旅游" checked />旅游

                <input type="checkbox" name="fav" value="体育"  checked />体育

                <input type="checkbox" name="fav" value="文学" />文学

                <input type="checkbox" name="fav" value="娱乐" />娱乐

                <input type="checkbox" name="fav" value="学习" />学习

                <input type="checkbox" name="fav" value="军事" />军事

          <p>职业:<span style=" margin-left:30px;" id="job_text"></span></p>

               <select id="job_single" size="6">

                    <option value="软硬件开发" selected>信息技术</option>

                    <option value="互联网运营" >互联网运营</option>

                    <option value="生产制造" >生产制造</option>

                    <option value="科学研究" >科学研究</option>

                    <option value="项目管理" >项目管理</option>

                    <option value="公务员" >公务员</option>

                    <option value="医疗" >医疗</option>

              </select>

          <p>个人简介:</p>

          <textarea cols="50" rows="10">请输入个人简介</textarea>

          <p><input type="submit"  value="提交"/></p>

     </form>    

</body>

<html>