js之表单

思维导图

提交和重置

提交按钮定义方式有

  • 通用提交按钮:inputtypesubmit
  • 自定义提交按钮:buttontypesubmit
  • 图片按钮:inputtypeimage

其对应的事件为submit,在按回车键时会触发,即在向服务器发送请求之前
注意:
通过 submit()方法调用时不会

重置按钮定义方式有

  • 通用重置按钮:inputtypereset
  • 自定义重置按钮:buttontypereset

其对应的事件为reset,在点击重置按钮时或者显示调用reset()方法时会触发

表单字段

常用属性

常用属性有

  • value:要提交给服务器的值
  • disabled:是否禁用
  • form:所属表单
  • name:控件名
  • readonly:是否只读
  • tabIndex:tab键时的切换顺序
  • type:控件类型,字符串,比如radio或者checkbox

文本框

有两种形式

  • 单行:inputtypetext
  • 多行:textarea

选中文本方式有

  • 全选:select()
  • 部分选择:setSelectionRange(start, end)

事件有select

ie选择有些特殊,步骤为

javascript 复制代码
let range = textbox.createTextRange();
range.collapse(true);
range.moveStart("character", start);
range.moveEnd("character", end);
range.select();

剪贴板相关事件有

  • beforecut
  • cut
  • beforecopy
  • copy
  • beforepaste
  • paste

剪贴板数据用event或者windowclipboardData,其有三个方法

  • setData()
  • getData()
  • clearData()

html5约束验证支持的有

  • required属性
  • input新增类型,如email,url
  • 数值范围
    • number
    • range
    • datetime
    • datetime-local
    • date
    • month
    • week
    • time
  • pattern模式
  • 表单检查有效性,使用方法checkValidity()
  • 表单禁用验证,使用novalidate属性
  • 表单字段禁用验证,使用属性formnovalidate

选择框

使用selectoption
select新增属性,方法有

  • multiple:是否支持多选
  • options:所有的<option>
  • selectedIndex:选中项的索引值,从0开始
  • size
  • add(newOption, relOption)
  • remove(index)

option新增属性,方法有

  • index:选项在options集合中的索引
  • label:选项的标签
  • selected:是否选中了当前选项
  • text:选项的文本
  • value:选项的值

富文本

支持两种形式

  • iframe:即其document.designMode= "on"
  • 元素设置了contenteditable

与富文本交互方式

  • iframe的document.execCommand(<command>, false, value)
  • document.queryCommandEnabled(<command>)
  • document.queryCommandState(<command>)
  • document.queryCommandValue(<command>)
相关推荐
c++之路几秒前
C++信号处理
开发语言·c++·信号处理
@PHARAOH6 分钟前
WHAT - cursor cli 开发范式
前端·ai·ai编程
子兮曰1 小时前
深入 HTML-in-Canvas:当 Canvas 学会了渲染 DOM,前端图形生态要变天了
前端·javascript·canvas
ws_qy1 小时前
从大模型原理到前端 AI Coding 工程化实践
前端·ai编程
倾颜1 小时前
React 19 源码主线拆解 04:Fiber 到底是什么,React 为什么需要 Fiber?
前端·react.js·源码阅读
AI攻城狮2 小时前
国产大模型能力大比拼,社区有话说
前端
Legendary_0082 小时前
LDR6500:USB‑C DRP PD协议芯片技术详解与应用实践
c语言·开发语言
2301_800976932 小时前
正则表达式
开发语言·python·正则表达式
故事还在继续吗2 小时前
C++20关键特性
开发语言·c++·c++20