在注册页面,我们经常要用到页面验证,验证到不符合要求的数据就阻止提交到服务器,如下

<script type="text/javascript">
function Check() {
var phoneNumber = $.trim($("#PhoneNumber").val());
var isMobile=/^1?(3|5|7|8)\d{9}$/;
if (isMobile.test(phoneNumber) == false) {
alert("电话号码格式错误");
$("#PhoneNumber").focus();
return;
}
}
</script>
<input type="submit" name="addNewAddress" value="保存收货地址" class="saveNewAddress" onclick="Check()"/>

效果:这样看起来貌似没有问题,但是这样往往能够提示判断出错误的手机号码,但是却不能阻止它提交到后台;

原因:其实是check()只是一个验证手机号的动作,并没有阻止提交的动作。提交表单时先执行check()这个函数再post,post的时候会执行页面判断(判断一个值,具体是什么值需要了解整个post的过程,这里我也不太清楚)如果是true,就post页面,如果是false,就不执行任何动作。

解决方法:在check()方法里执行验证之后,如果验证符合要求就返回true,否则返回false;在调用方法的地方加上“return 方法名”(这里就是return Check(););完整的代码如下:

<script type="text/javascript">
function Check() {
var phoneNumber = $.trim($("#PhoneNumber").val());
var isMobile=/^1?(3|5|7|8)\d{9}$/;
if (isMobile.test(phoneNumber) == false) {
alert("电话号码格式错误");
$("#PhoneNumber").focus();
return false;
}
return true;
}
</script>
<input type="submit" name="addNewAddress" value="保存收货地址" class="saveNewAddress" onclick="return Check();"/>

js阻止提交表单(post)的更多相关文章

  1. JS、jqueryie6浏览器下使用js无法提交表单的解决办法

    -----------------------JS.jqueryie6浏览器下使用js无法提交表单的解决办法---------------------------------------------- ...

  2. js阻止form表单重复提交

    防止表单重复提交的方法总体来说有两种,一种是在js中阻止重复提交:另一种是在后台利用token令牌实现,大致思路是生成一个随机码放到session和form表单的隐藏输入框中,提交表单时两者对比,表单 ...

  3. js 回车提交表单的实现

    我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此.比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键 ...

  4. jQuery.Form.js 异步提交表单使用总结

    jQuery.Form.js 是一个用于使用jQuery异步提交表单的插件,它使用方法简单,支持同步和异步两种方式提交. 第一步:引入jQuery与jQuery.Form.js <script ...

  5. JS post提交表单

    js post方式提交表单有两种办法,1:AJAX提交 2:在JS里拼出一个form,然后submit 第二种办法的代码 //这个主要是解决给password MD5 var email = 'ema ...

  6. 转 js调用提交表单。

    今天做网银支付的时候,需要做到点击支付的时候提交订单,然后新窗口打开支付界面. 思路1:window.open(''),这个直接被pass了,因为银行的服务一般都是需要post数据的.就算是可以用ge ...

  7. JS:JS判断提交表单不能为空等验证

    这段代码在<form>中有οnsubmit="return on_submit()",如果 onsubmit ()返回 fasle,表单的元素就不会提交,即action ...

  8. js 回车提交表单

    一.整个页面用一个回车提交事件: <input type="button" value="回车提交" id="auto" onclic ...

  9. js 判断提交表单

    <SCRIPT language=javascript> function check_book() { if(document.form1.Username.value=="& ...

随机推荐

  1. 拦截JQuery的ajax

    (function() { var _ajax = $.ajax; $.ajax = function(opts) { //实现自己的逻辑 _ajax(opts); }; })();

  2. JavaScript编程总结

    1.   JS加载放在底部 2.   JS和CSS合并,一个页面加载的JS和CSS越少越好 3.   尽量使用变量,页非全局变量. 4.   脚本和DOM交互越少越好,尽量批量修改. 5.   批量修 ...

  3. leetcode 4. Median of Two Sorted Arrays

    https://leetcode.com/problems/median-of-two-sorted-arrays/ There are two sorted arrays nums1 and num ...

  4. spring的helloworld

    前两天接到了支付宝的电话面试,问了我好多java中的知识,知识姐不看java好多年,这猛一问知道的东西还真是不少啊.趁着现在精力还算是比较旺盛,再把spring重新理一理,为下一次面试做准备. 学习每 ...

  5. Python监控网站接口值

    Python监控网站接口值: #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'liudong' import urllib,sy ...

  6. python之路-Day6

    time & datetime模块 #_*_coding:utf-8_*_ __author__ = 'Alex Li' import time # print(time.clock()) # ...

  7. linux默认网关的设置

    linux装系统设IP,这应该是系统管理员的基本功,可是不同的网络结构有不同的ip设法,您知道吗? 1.一块网卡的情况   这个没啥好说的,估计地球人都知道:address,netmask,gatew ...

  8. [原创.数据可视化系列之五]韩国"萨德"系统防御图

    自从7月8日美国和韩国共同宣布将在韩国部署萨德反导系统后,韩国国内对此事的巨大争议以及本地区一些国家的强烈不满情绪在持续发酵.“萨德”(THAAD)全称“末段高空区域防御系统”,是美国导弹防御局和美国 ...

  9. ES 集群

    http://www.cnblogs.com/o-andy-o/p/5067184.html

  10. Python学习资料下载地址(转)

    [转]Python学习资料和教程pdf 开发工具: Python语言集成开发环境 Wingware WingIDE Professional v3.2.12 Python语言集成开发环境 Wingwa ...