表单的一些应用常识:

1.在用户第一次提交完表单后应防止用户不耐烦而多次点击submit按钮,需要在onsubmit事件中制止用户的重复行为。

2.不要简单粗暴的用reset()重置表单,如果用户不想填写可以给他一个返回上一页面的按钮,让其离开。

3.通过触发阻止onsubmit事件的默认行为就可以阻止用户表单的提交。

4.能够在用户输入完一个内容后焦点自动跳到下一个内容。

5.除了select,其余有onchange事件的表单元素都是先触发onchang再触发onblur,前提是该表单内容有了改变且失去了焦点。

6.J高三上说select的onchange不用失去焦点就能发生有误,因为选择本身就让select失去了焦点,因此select选项改变的时候,先触发onblur再触发onchange

(未完待续)

用户提出一个需求,要求在表单填写完毕后敲击回车弹出一个自定义的对话框,且不能提交。

于是这就需要改写form的onsubmit事件,简单粗暴看代码:

HTML结构

<form id="ifm" action="">
<div>
<label>姓名:</label>
<input id="txtName" type="text" maxlength="16" /><br />
<label>年龄:</label>
<input id="txtAge" type="text" /><br />
<input type="submit" id="sum" />
</div>
</form>

JS语句

window.onload = function () {
var of = document.getElementById('ifm');
of.onsubmit = function () {//改写onsubmit事件
var oDiv = document.createElement('div');
var oIn = document.createElement('input');
oIn.type = 'text';
oDiv.appendChild(oIn);
oDiv.className = "divs";
document.body.appendChild(oDiv);
oIn.focus();//将焦点转移到对话框中
return false;//阻止默认行为,form默认提交后刷新页面
};
};

改写Form的submit的更多相关文章

  1. ASP.Net MVC跳转,分为form的submit提交跳转和ajax跳转

    1,用jquery ajax跳转的话,需要在前台用window.location("跳转网址")来跳转,在success后使用 2,用原声的form的submit来跳转,如下图 3 ...

  2. EasyUI form ajax submit到MVC后,在IE下提示下载内容的解决办法

    问题描述: 项目环境为,.Net Mvc5+EF6……前端框架使用的是EasyUI v1.4.4. 在视图页面中,使用form的submit方法提交表单数据时,如果是使用IE的话,请求成功后IE会提示 ...

  3. 【jquery采坑】Ajax配合form的submit提交(微擎表单提交,ajax验证,submit提交)

    1.采坑:实现form的submit提交,在提交之前,进行ajax的不同校验,然后onsubmit=return check(),进行提交 1/1 目的:可以实现以 from的submit提交,然后还 ...

  4. 认真研究下HTML之id、name、form、submit

    #起因 同事希望在提交之后关闭父窗口,但是,始终没有提交请求发出.他的代码大概如下: // <form id='f' action=... // <button onclick='fun( ...

  5. layui表单提交使用form.on('submit(sub)',function (){}) 使用ajax请求时回调不执行的原因及解决方法

    ayui使用官方的表单模块form.on('submit(sub)',function (){}) 提交,使用ajax请求向后台请求一个执行结果,根据结果进行处理,出现回调无法执行,并且页面出现了刷新 ...

  6. form的submit与onsubmit的用法与区别

    发生顺序:onsubmit -> submit1.阻止表单提单:<script>function submitFun(){    //逻辑判断    return true; //允 ...

  7. form的submit()方法不能触发onsubmit事件的解决方法,兼容各版本浏览器。

    在处理表单提交的时候遇到一个问题,通常用<input type="submit" value="提交" />按钮来提交form,再监听form的on ...

  8. 电脑端支付宝支付 -前端获取支付宝返回的form 以及submit 调用支付扫码页面

    前端调取支付宝支付接口(后台进行封装,没有直接调取支付宝接口),调用返回的数据中,将会有一串的form表单数据返回,我们需要将此表单在当前调用页面submit下,以跳转到支付扫码页: 支付宝返回的fo ...

  9. form在submit之前使用request.setCharacterEncoding是没用的

    点击了submit按钮,就创建了另一个request了 比如你有a.jsp,上面有个form,form的action指向某个Servlet或者Action,那么你在a.jsp页面上写的request. ...

随机推荐

  1. SQLserver查询数据库所有字段-表名

    SELECT * FROM INFORMATION_SCHEMA.columns WHERE TABLE_NAME='Account' SELECT (case when a.colorder=1 t ...

  2. Linux内核学习笔记——内核内存管理方式

    一 页 内核把物理页作为内存管理的基本单位:内存管理单元(MMU)把虚拟地址转换为物理 地址,通常以页为单位进行处理.MMU以页大小为单位来管理系统中的也表. 32位系统:页大小4KB 64位系统:页 ...

  3. Java通过SpyMemcached来缓存数据

    配置好Magent+memcached后,很明显数据之间的输入与输出都是通过代理服务器的,magent是做代理服务器的很明显java在memecached的调用驱动在magent同样适用. 这里选择S ...

  4. Collaborative filtering

        Collaborative filtering, 即协同过滤,是一种新颖的技术.最早于1989年就提出来了,直到21世纪才得到产业性的应用.应用上的代表在国外有Amazon.com,Last. ...

  5. 【Javascript】: for循环中定义的变量在for循环体外也有效

    for循环中定义的变量在for循环体外也有效 <script> (function(){ var a = 111; for(var i=0;i<5;i++){ var carl = ...

  6. OpenStack: 安装准备

    >安装准备1. 安装MySQL# apt-get install python-mysqldb mysql-server将/etc/mysql/my.cnf修改bind-address为&quo ...

  7. iOS8 超简单的设置圆角按钮 ImageView等UIView

    button.layer.cornerRadius = // 这个值根据你想要的效果可以更改 button.clipsToBounds = true 这种方法不止可以设置按钮,UIView应该都可以设 ...

  8. 关于在android4.1.x的版本不能启动支付宝问题

    异常:Failure calling remote service 异常日志: INFO/<unknown>(<unknown>): java.security.spec.In ...

  9. c/c++常用代码 -- ini文件操作

    #pragma once #include <string> #include <sstream> typedef std::basic_string<TCHAR> ...

  10. c++11并发程序设计(1)

    第一章:你好 c++的并发世界 1.何为并发 最简单和最基本的并发,是指两个或两个以上的独立活动同时进行. 对于单个处理单元或者核心,这种机器只能在某一时刻执行一个任务,不够它可以每秒进行多次的任务切 ...