首页 > 其他分享 >onsubmit和submit()详解

onsubmit和submit()详解

时间:2023-02-28 21:03:57浏览次数:34  
标签:onsubmit 句柄 submit 表单 详解 提交 var


首先说明一点:onsubmit是Form对象的事件句柄,而submit()是form对象的事件方法

  • 还有一个Submit 对象,代表 HTML 表单中的一个提交按钮 (submit button)。在 HTML 表单中 <input type="submit"> 标签每出现一次,一个 Submit 对象就会被创建。(这里我们暂且不详细说明哦)

一、onsubmit:在表单提交之前调用

当用户单击了表单中的 Submit 按钮而提交一个表单时,就会调用这个事件句柄函数。注意,当调用方法Form.submit() 时,该处理器函数不会被调用。

如果 onsubmit 句柄返回 fasle,表单的元素就不会提交。如果该函数返回其他值或什么都没有返回,则表单会被提交。

由于 onsubmit 句柄可以取消表单的提交,所以它对于进行表单验证是十分理想的。看下面的示例(验证密码是否为空,如果为空,就取消表单的提交):

<form action="" methods="post" onsubmit="return check()">

<input type="text" name="text" placeholder="请输入用户名"/>
<input type="password" id="password" name="password" placeholder="请输入密码"/>
<input type="submit" value="提交"/>
</form>


<script>
var re = /^[^\s]+$/;
var pw = document.querySelector('#password')
check(){
if(re.test(pw.value)){
return true;//不为空

}else{
return false;//为空

}

}

</script>

注意表单验证一定要写成

<from action="" method="post" onsubmit="return check()">//return不可少,切记
...............
</from>

submit():

submit() 方法把表单数据提交到 Web 服务器。该方法提交表单的方式与用户单击 Submit 按钮一样,但是表单的 onsubmit 事件句柄不会被调用。

看下面的示例:

<form action="" methods="post" id="formP">

<input type="text" name="text" placeholder="请输入用户名"/>
<input type="password" id="password" name="password" placeholder="请输入密码"/>
<input type="button" id="btn" value="提交"/>
</form>

<script>
var oForm = document.querySelector('#formP');
var oBtn = document.querySelector('#btn');\
oBtn.onclick = function(){
oForm.submit()
}

</script>

 

 

标签:onsubmit,句柄,submit,表单,详解,提交,var
From: https://blog.51cto.com/u_15983333/6091805

相关文章

  • H5本地存储(storage)和cookie详解
    cookie:存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie向来访问者电脑存储数据不同的浏览器存放的cookie位置不一样,也是不能通用的cookie的存储是以域名的形式......
  • 跨域请求详解
    一、同源策略1.什么是浏览器的同源策略?同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到......
  • 前后端分离-跨域问题详解
    一、跨域问题详解什么是跨域问题:跨域问题只会出现在前后端分离项目中,在前后端分离项目中,前端发送ajax请求到后端会跨域问题拦截,导致这个问题的原因是“同源策略”什么是......
  • Kerberos协议详解
    kerberos0x00简介Kerberos是一种网络认证协议,其设计目标是通过密钥系统为客户机/服务器应用程序提供强大的认证服务。该认证过程的实现不依赖于主机操作系统的认证,无......
  • 对于如何在IDEA中给Terminal添加git的详解
    具体步骤1、配置本机环境变量进入到环境变量的设置界面,然后找到下面的Path变量,双击点开;然后新建一个变量,路径定义到git的目录下面的bin目录下;2、WIN+R,然后输入cmd,进入......
  • 关于如何在IDEA里面配置好Git和Github的相关步骤详解
    配置Git1、File->settings然后选择其中的VersionControl:接着选择其中的Git选项:2、将文本框内容定位到本地下载git路径下面然后点击右边的Test测试一下,若是显示出......
  • WPF中图形表示语法详解(Path之Data属性语法)
    老规矩,看图说话。先看显示效果:(图1)XAML(代码A):<Pagexmlns="​​http://schemas.microsoft.com/winfx/2006/xaml/presentation​​​"xmlns:x="​​http://schemas.microsof......
  • SICK新品 | 智能激光型光电传感器W12L详解
    随着智能制造的发展与普及,越来越多的行业对传感器提出了新的要求。不仅检测上要实现稳定精准,传感器本身也要具有向上层集成的能力。比如:汽车行业:自动化程度高,各工艺衔接段......
  • 详解http和https
    前言大家好,我是小卷!近几年,互联网发生着翻天覆地的变化,尤其是我们一直习以为常的HTTP协议,在逐渐的被HTTPS协议所取代,在浏览器、搜索引擎、CA机构、大型互联网企业的共同促......
  • 【django-vue】前端取消默认样式 main.js配置 后端主页模块接口 跨域问题详解 项目自
    目录回顾上节课回顾今日内容1前端全局样式和js配置1.1global.css1.2settings.js1.3main.js2后端主页模块接口三种开发模式模型父类BaseModel轮播图模型类代码轮播图接......