Logo

郎哥编程

媒体和表单事件

2020-12-08 180

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

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

媒体事件

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

026.png

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

案例12:媒体事件网页代码(案例代码见unit2\case12.html):

<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>
</body>
<html>

表单事件

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

027.png

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

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

案例13:表单事件网页代码(案例代码见unit2\case13.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>


代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论