onsubmit对表单的拦截
2024-08-31 23:19:01
今天遇到一个问题:在对同name 的input 表单时 判断其值是否有效
用了each判断
当初错误的做法:
function check_goods()
{
var regs = /^\d+$/;
$("form[name='event'] input.goods_id").each(function(){
if($(this).val() == '' || !regs.test($(this).val()))
{
alert('请输入必要商品信息:id值和商品件数');
return false;
}
})
}
错误点是:这里在循环中return false 但是表单却还是提交了;
为什么没有阻止!!
后来:宏鸿看过之后改了一个点。
function checkGoods(){
var regs = /^\d+$/;
var flag = true;
$("form[name='event'] input.goods_id").each(function(){
if($(this).val() == '' || !regs.test($(this)).val())
{
alert('请输入必要商品信息:id值和商品件数');
flag = false;
return;
}
})
return flag;
}
完整知识:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<script language="javascript">
//--->
function checksubmit()
{
if (document.form1.myname.value=="")
{
alert("请输入开始数值!");
document.form1.myname.focus();
return false;
}
return true;
}
//--->
</script> <form name="form1" method="post" action="#" onsubmit="return checksubmit()">
<label>
<input name="myname" type="text" id="id">
</label>
<p>
<label>
<input type="submit" name="Submit" value="提交">
</label>
</p>
代码很简单。
注意以下几点:
1,在js中,是获得input的name,而不是id,往往这里的name和id一样。
2,onsubmit="return checksubmit()" 这里的return不能省掉。
3,checksubmit()函数里面的return true;可以省去,因为默认是返回true;
参考:
http://www.cnblogs.com/wangkongming/archive/2012/12/13/2816390.html
最新文章
- Laravel大型项目系列教程(一)
- 一个不错的安卓下ssh客户端
- BZOJ 3572: [Hnoi2014]世界树
- Liunx 下使用cmake
- Spring的";Hello, world";,还有";拿来主义";
- HTTP协议中PUT和POST使用区别 【转载】
- JAVACC详解
- Oracle 中的Userenv()
- 一个loader加载多个swf
- Java暑期作业
- C博客作业05--指针
- Idea动态java模板配置
- Django 2.11 静态页面404 解决
- java 43 接口
- 第 8 章 容器网络 - 071 - 如何定制 Calico 的 IP 池?
- 轻松了解JS中this的指向
- u-boot 内核 启动参数
- centos 命令学习
- [Web 前端] td长度固定,内容过长,超过部分用省略号代替
- window 10 下解压缩版MySQL5.7.24的安装
热门文章
- HDU - 6386 Age of Moyu 2018 Multi-University Training Contest 7 (Dijkstra变型)
- 关于获得MFC窗口其它类指针的方法(csdn)
- $python虚拟化运行环境——virtualenv
- MySQL Binlog解析(1)
- jQuery时间轴鼠标悬停动画
- [转]React Native 语言基础之ES6
- 字符串的hash匹配
- 并发-AQS源码分析
- 谷歌浏览器和火狐浏览器设置跨域和https、http混用 Chrome
- Ubuntu 1210怎么获得root权限登录