onsubmit对表单的拦截


今天遇到一个问题:在对同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

优质内容筛选与推荐>>
1、hdu 5443 (2015长春网赛G题 求区间最值)
2、HDU 4960 Handling the past 2014 多校9 线段树
3、JAVA基础之java体系结构
4、呵呵今天终于把Discuz的通行证给搞定了!高兴嗯~
5、VS2012编译可在WinXP兼容程序


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号