ajax实现提交时校验表单方法

来源:脚本之家  责任编辑:小易  

  方式一:是通过jquery.validate的submitHandler选项,即当表单通过验证时

本文实例为大家分享了ajax提交时校验表单的方法,供大家参考,具体内容如下

function showRequest() { var na

方法一:

这个可以在表单上添加onsubmit函数和使用jQuery的each函数来判断varflag=tr

代码示例: 

简单的说,就是在onsubmit哪儿添加事件用ajax提交表单输入信息做验证,只有服务器端返回的验证

巧妙设计之处:ajax提交的话,不能够进行校验拦截,设置一个flag来判断,很巧妙的设计之处,故收藏!

因为你用validate提交的写法是错的.$("#myForm").

function inserts(){ var flag = checkForm(); if (flag == false) { return; } $.ajax({ //几个参数需要注意一下 type: "POST",//方法类型 dataType: "json",//预期服务器返回的数据类型 url: "<%=path %>/soldier/inserts" ,//url data: $('#form1').serialize(), success: function (data) { alert(data.msg); window.location.reload(true); }, error : function() { alert(data.msg); } }); } function checkForm(){ var name = $("#name").val(); if (name.trim() == '') { alert("请输入姓名!"); $("#name").focus(); return false; } var sex = $("#sex").val(); if (sex.trim() == '') { alert("请输入性别!"); $("#sex").focus(); return false; } else if (sex.trim() != '男' && sex.trim() != '女') { alert("请输入合法性别!"); $("#sex").val(''); $("#sex").focus(); return false; } var age = $("#age").val(); if (age.trim() == '') { alert("请输入年龄!"); $("#age").focus(); return false; }else if(age.trim()==0 || age.trim()<=0 || age.trim()>150){ alert("请输入合法年龄!"); $("#age").focus(); return false; } var politics_sstatus = $("#politics_sstatus").val(); if (politics_sstatus.trim() == '') { alert("请输入政治面貌!"); $("#politics_sstatus").focus(); return false; } var tel = $("#tel").val(); if (tel.trim() == '') { alert("请输入联系电话!"); $("#tel").focus(); return false; }else if(tel.length<11 || tel.length>11){ alert("请输入合法联系电话!"); $("#tel").focus(); return false; } var id_card = $("#id_card").val(); if (id_card.trim() == '') { alert("请输入身份证号码!"); $("#id_card").focus(); return false; }else if(id_card.length<18 ||id_card.length>18){ alert("请输入合法身份证号码!"); $("#id_card").focus(); return false; } var appeal = $("#appeal").val(); if (appeal.trim() == '') { alert("请输入主要诉求!"); $("#appeal").focus(); return false; } return true; }

要想找完美情人就别去相亲,走到相亲这一步都是不完美的人,因为条件不允许。完美的人有很多很多人追求者,没必要也不屑相亲。相亲就是先谈条件后谈感情了。我奉劝所有相亲男女一定要明确目的,不要模棱两可。想找啥人一定跟介绍人说清楚,介绍人会选择性给你配对。千万不要抱着看看再说的心理。因为次数多了,你的名声就不好了,周围人都以为你挑三捡四眼光高,就算遇到合适的也没人敢给你介绍了。还有你若不想谈或者没看上对方,就跟别人说感觉不合适,若是感觉对方条件还不错颜值身高身材都还满意就认真点,不要装作无所谓不在乎的样子。因为你在装,别人可能会误判你对自己不感兴趣都老大不小都知道时间很宝贵了都不是傻子没时间浪费在一个对

页面效果:

谢邀,众泰车是目前比较大的一个国产车品牌,外观和汽车内饰都是非常突出,一直都是以模仿、借鉴出名1、众泰z700排量为1.8L,对于一般驾驶者来说已经足够,它的内饰和奥迪A6相似程度高达百分之70以上。汽车配置非常丰富,从电吸门到伸缩液晶屏应有尽有。长为5020mm,宽为1877mm,高位1469mm,所以车子的内饰非常不错,并且从外观来讲众泰的车身造型是数一数二的,目前来说十多万就能买一台这样的车的确非常划算,按照合资车来算它的这些配置,没有50万基本是下不来的。但是众泰的发动机和车身细节一直被很多车主吐槽,发动机是TN4G18T型号的,油耗偏高动力输出不错,但众泰车主说经常出现小部件零件损坏

 方法二:

玉米须,又称龙须,是传统的中药材,1476年的《滇南木草》就有了药用记载,书中写到:\"宽肠下气。治妇人乳结,乳汁不通,红肿疼痛,怕冷发热,头痛体困。\"。之后的《岭南采药录》中这样说:\"和猪肉煎汤治糖尿病。又治小便淋沥砂石,苦痛不可忍,煎汤频服。\"。还有一些现代中药书籍认为玉米须:\"开胃,平肝,祛风\"、\"清血热,利小便。治黄疸,风热,出疹,吐血及红崩”、“为利尿药,对肾脏病、浮肿性疾患、糖尿病等有效。又为胆囊炎、胆石、肝炎性黄疸等的有效药”……现代药理学证实了玉米须并非浪得虚名,确实是有真本领的。《中国药典》1977年收载,1985版的《中华人民共和国卫生部药材标准》收录为常用药材

这是一个登陆的ajax校验

\n\n1988年,金星获美国亚细亚文化基金会和美国舞蹈节奖学金,赴纽约学习现代舞。17岁荣获全国首届“桃李杯”舞蹈大赛少年组第一名,在全国第二届舞蹈比赛中获“最佳优秀演员奖”。20岁中国舞蹈演员受国家公派赴美国纽约学习现代舞[3]。1989~1990年,金星在韩国汉城举办个人作品晚会,任美国舞蹈节国际编导小组成员。1991年,在美深造现代舞期间,被聘为美国舞蹈节编舞,同年,她的作品“半梦”荣获美国舞蹈节“最佳编舞奖”。后赴意大利受聘于意大利电视一台进驻编舞,同年移居欧洲。共6张旗袍1992年,赴比利时受聘于比利时皇家舞蹈学院教授,在比利时创建白风现代舞团,并举办两次个人作品晚会[3]。199

代码示例:

页面的提交按钮:

<input type="button" id="loginsubmit" value="登录" />

 js逻辑:

分析:当用户点击按钮的时候,会

<script type="text/javascript"> var redirectUrl = "${redirect}"; var LOGIN = { /* 3、进行账号密码的校验 */ checkInput:function() { if ($("#loginname").val() == "") { alert("用户名不能为空"); $("#loginname").focus(); return false; } if ($("#nloginpwd").val() == "") { alert("密码不能为空"); $("#nloginpwd").focus(); return false; } return true; }, /* 4、进行登录 1.当账号密码校验不为空的时候进行后台校验 */ doLogin:function() { $.post("/user/login", $("#formlogin").serialize(),function(data){ if (data.status == 200) { alert("登录成功!"); if (redirectUrl == "") { location.href = "http://localhost:8082"; } else { location.href = redirectUrl; } } else { alert("登录失败,原因是:" + data.msg); $("#loginname").select(); } }); }, /* 2、进行登录校验 */ login:function() { if (this.checkInput()) { this.doLogin(); } } }; /* 1、页面初始化的时候校验表单的数据 1.当用户点击登录的时候,绑定一个click事件 2.调用LOGIN对象的login方法,进行账号密码校验 */ $(function(){ $("#loginsubmit").click(function(){ LOGIN.login(); }); }); </script>

效果图:

扩展阅读,根据您访问的内容系统为您准备了以下内容,希望对您有帮助。

如何在异步提交form的时候利用jQuery validate实现表单验证

<?php if(isset($_GET['act']) && $_GET['act']=='valid'){

$username=$_REQUEST['username'];

echo json_encode($username);

}else{?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/jquery.js"></script>

<script src="http://static.runoob.com/assets/jquery-validation-1.14.0/dist/jquery.validate.min.js"></script>

<script>

$(document).ready(function() {

  $("#myform").validate({

    rules: {

      username: {

        required: true,

        rangelength:[2,6]

      }

    },

    messages: {

      username: {

        required: "请输入姓名",

        rangelength:$.validator.format("姓名最小长度:{0}, 最大长度:{1}。")

      }

    },

submitHandler:function(form){

$.ajax({

url:"?act=valid",

type:"POST",

data:$(form).serialize(),

dataType:"json",

success: function(data){

//console.log(data);

alert('提交成功');

$('#username').val('');

}

});

}

  });

});

</script>

</head>

<body>

<form id="myform">

  <fieldset>

    <legend>验证表单</legend>

    <p>

      <label for="username">姓名</label>

      <input id="username" name="username" type="text" />

    </p>

    <p>

      <input class="submit" type="submit" value="提交" />

    </p>

  </fieldset>

</form>

</body>

</html>

<?php }?>

JQuery实现提交表单时候验证所有文本框是否为空

这个可以在表单上添加onsubmit函数和使用jQuery的each函数来判断

varflag=true;

functioncheckForm(frm){

$("#frminput[type='text']").each(function(i,obj){

if(obj.value==""){

alert($(obj).attr("placeholder"));

flag=false;

returnfalse;

}

});

returnflag;

}

<&#47;script>

文本1:

文本2:

文本3:

文本4:

文本5:

这个可以在表单上添加onsubmit函数和使用jQuery的each函数来判断

<script type="text/javvascript">

var flag = true;

function checkForm(frm) {

$("#frm input[type='text']").each(function(i, obj) {

if(obj.value == "") {

alert($(obj).attr("placeholder"));

flag = false;

return false;

}

});

return flag;

}

</script>

<form ation="目标地址" method="post" onsubmit="return checkForm();" id="frm">

文本1:<input type="text" name="txt1" value="" placeholder="文本1不能为空"/><br/>

文本2:<input type="text" name="txt2" value="" placeholder="文本2不能为空"/><br/>

文本3:<input type="text" name="txt3" value="" placeholder="文本3不能为空"/><br/>

文本4:<input type="text" name="txt4" value="" placeholder="文本4不能为空"/><br/>

文本5:<input type="text" name="txt5" value="" placeholder="文本5不能为空"/><br/>

<input type="submit" value="提交表单"/>

jquery在表单提交前有几种校验方法

在表单提交前进行验证的几种方式 .

在Django中,为了减轻后台压力,可以利用JavaScript在表单提交前对表单数据进行验证。下面提供了有效的几种方式(每个.html文件为一种方式)。

formpage1.html

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Example1</title>

<script type="text/javascript" src="/Resource/jquery-1.4.1.js"></script>

<script type="text/javascript">

function jump()

{

//清空表单所有数据

document.getElementById("firstname").value=""

document.getElementById("lastname").value=""

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

}

$(document).ready(function(){

$("#form1").bind("submit", function(){

var txt_firstname = $.trim($("#firstname").attr("value"))

var txt_lastname = $.trim($("#lastname").attr("value"))

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

var isSuccess = 1;

if(txt_firstname.length == 0)

{

$("#firstnameLabel").text("firstname不能为空!")

$("#firstnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(txt_lastname.length == 0)

{

$("#lastnameLabel").text("lastname不能为空!")

$("#lastnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(isSuccess == 0)

{

return false;

}

})

})

</script>

</head>

<body>

提交表单前进行验证(方法一)

<hr width="40%" align="left" />

<form id="form1" method="post" action="/DealWithForm1/">

<table>

<tr>

<td>first_name:</td>

<td><input name="firstname" type="text" id="firstname" /></td>

<td><label id="firstnameLabel"></label></td>

</tr>

<tr>

<td>last_name:</td>

<td><input name="lastname" type="text" id="lastname" /></td>

<td><label id="lastnameLabel"></label></td>

</tr>

</table>

<hr width="40%" align="left" />

<button type="submit">提交</button>

<button type="button" onclick="jump();">取消</button>

</form>

</body>

</html>

formpage2.html

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Example2</title>

<script type="text/javascript" src="/Resource/jquery-1.4.1.js"></script>

<script type="text/javascript">

function jump()

{

//清空表单所有数据

document.getElementById("firstname").value=""

document.getElementById("lastname").value=""

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

}

function check(){

var txt_firstname = $.trim($("#firstname").attr("value"))

var txt_lastname = $.trim($("#lastname").attr("value"))

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

var isSuccess = 1;

if(txt_firstname.length == 0)

{

$("#firstnameLabel").text("firstname不能为空!")

$("#firstnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(txt_lastname.length == 0)

{

$("#lastnameLabel").text("lastname不能为空!")

$("#lastnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(isSuccess == 0)

{

return false;

}

return true;

}

</script>

</head>

<body>

提交表单前进行验证(方法二)

<hr width="40%" align="left" />

<form id="form1" method="post" action="/DealWithForm1/" onsubmit="return check()">

<table>

<tr>

<td>first_name:</td>

<td><input name="firstname" type="text" id="firstname" /></td>

<td><label id="firstnameLabel"></label></td>

</tr>

<tr>

<td>last_name:</td>

<td><input name="lastname" type="text" id="lastname" /></td>

<td><label id="lastnameLabel"></label></td>

</tr>

</table>

<hr width="40%" align="left" />

<button type="submit">提交</button>

<button type="button" onclick="jump();">取消</button>

</form>

</body>

</html>

formpage3.html

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Example3</title>

<script type="text/javascript" src="/Resource/jquery-1.4.1.js"></script>

<script type="text/javascript">

function jump()

{

//清空表单所有数据

document.getElementById("firstname").value=""

document.getElementById("lastname").value=""

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

}

function checktosubmit(){

var txt_firstname = $.trim($("#firstname").attr("value"))

var txt_lastname = $.trim($("#lastname").attr("value"))

$("#firstnameLabel").text("")

$("#lastnameLabel").text("")

var isSuccess = 1;

if(txt_firstname.length == 0)

{

$("#firstnameLabel").text("firstname不能为空!")

$("#firstnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(txt_lastname.length == 0)

{

$("#lastnameLabel").text("lastname不能为空!")

$("#lastnameLabel").css({"color":"red"});

isSuccess = 0;

}

if(isSuccess == 1)

{

form1.submit();

}

}

</script>

</head>

<body>

提交表单前进行验证(方法三)

<hr width="40%" align="left" />

<form id="form1" method="post" action="/DealWithForm1/">

<table>

<tr>

<td>first_name:</td>

<td><input name="firstname" type="text" id="firstname" /></td>

<td><label id="firstnameLabel"></label></td>

</tr>

<tr>

<td>last_name:</td>

<td><input name="lastname" type="text" id="lastname" /></td>

<td><label id="lastnameLabel"></label></td>

</tr>

</table>

<hr width="40%" align="left" />

<button type="button" onclick="checktosubmit()">提交</button>

<button type="button" onclick="jump();">取消</button>

</form>

</body>

</html>

以下是视图函数、URL配置以及相关设置

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------

views.py

复制代码 代码如下:

#coding: utf-8

from django.http import HttpResponse

from django.shortcuts import render_to_response

def DealWithForm1(request):

if request.method=="POST":

FirstName=request.POST.get('firstname','')

LastName=request.POST.get('lastname','')

if FirstName and LastName:

response=HttpResponse()

response.write("<html><body>"+FirstName+" "+LastName+u"! 你提交了表单!</body></html>")

return response

else:

response=HttpResponse()

response.write('<html><script type="text/javascript">alert("firstname或lastname不能为空!");\

window.location="/DealWithForm1"</script></html>')

return response

else:

return render_to_response('formpage1.html')

def DealWithForm2(request):

if request.method=="POST":

FirstName=request.POST.get('firstname','').encode("utf-8")

LastName=request.POST.get('lastname','').encode("utf-8")

if FirstName and LastName:

html="<html><body>"+FirstName+" "+LastName+"! 你提交了表单!"+"</body></html>"

return HttpResponse(html)

else:

response=HttpResponse()

response.write('<html><script type="text/javascript">alert("firstname或lastname不能为空!");\

window.location="/DealWithForm2"</script></html>')

return response

else:

return render_to_response('formpage2.html')

def DealWithForm3(request):

if request.method=="POST":

FirstName=request.POST.get('firstname','')

LastName=request.POST.get('lastname','')

if FirstName and LastName:

response=HttpResponse()

response.write('<html><body>'+FirstName+LastName+u'! 你提交了表单!</body></html>')

return response

else:

response=HttpResponse()

response.write('<html><script type="text/javascript">alert("firstname或lastname不能为空!");\

window.location="/DealWithForm3"</script></html>')

return response

else:

return render_to_response('formpage3.html')

urls.py

复制代码 代码如下:

from django.conf.urls.defaults import patterns, include, url

import views

from django.conf import settings

urlpatterns = patterns('',

url(r'^Resource/(?P<path>.*)$','django.views.static.serve',{'document_root':settings.STATIC_RESOURCE}),

url(r'^DealWithForm1','views.DealWithForm1'),

url(r'^DealWithForm2','views.DealWithForm2'),

url(r'^DealWithForm3','views.DealWithForm3'),

)

settings.py

复制代码 代码如下:

# Django settings for CheckFormBeforeSubmit project.

import os

HERE = os.path.abspath(os.path.dirname(__file__))

DEBUG = True

TEMPLATE_DEBUG = DEBUG

...

STATIC_RESOURCE=os.path.join(HERE, "resource")

...

MIDDLEWARE_CLASSES = (

'django.middleware.common.CommonMiddleware',

'django.contrib.sessions.middleware.SessionMiddleware',

'django.middleware.csrf.CsrfViewMiddleware',

'django.contrib.auth.middleware.AuthenticationMiddleware',

'django.contrib.messages.middleware.MessageMiddleware',

'django.middleware.csrf.CsrfResponseMiddleware',

)

ROOT_URLCONF = 'CheckFormBeforeSubmit.urls'

TEMPLATE_DIRS = (

os.path.join(HERE,'template'),

# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".

# Always use forward slashes, even on Windows.

# Don't forget to use absolute paths, not relative paths.

)

validform用ajax提交表单时怎么验证

1、可以在input上直接绑定正则,可以自定义datatype,自定义datatype可以是正则,也可以是函数,datatype可以累加或单选,甚至还可以对datatype规则执行简单的逻辑运算。内置10类常见的格式验证;

2、可以自定义提示方式,可以实现你想要的任何提示效果。内置了4种常见的提示方式;

3、可以对表单下的某一块区域或具体的某个表单元素单独进行验证,并可以选择验证后需不需要显示出错信息,还能得到一个值来判断被检测对象是否通过了验证;

4、可以轻松的取消或恢复对表单下的某一块区域或具体的某个表单元素的验证;

5、强大的ajax功能,很轻松的可以实现实时验证以及表单的ajax提交;可以灵活的设置ajax提交时的参数;

6、智能的出错信息提示:会根据绑定的datatype输出相应的出错信息,另外还可以在自定义datatype里 返回具体的出错信息,错误信息里可以使用html标签,如果页面里没有显示出错信息的标签,会根据tiptype值自动创建。可以选择在没有输入时不提示 和只在提交表单时有信息提示。可以选择一次提示单个错误或一次显示全部出错信息。可以自己设置默认的提示文字;

工具/原料

Validform.js,style.css

方法/步骤

1

1、引入css

请查看下载文件中的style.css,把里面Validform必须部分复制到你的css中(文件里这个注释 "/*==========以下部分是Validform必须的===========*/" 之后的部分是必须的)。

2

2、引入js (jquery 1.4.3 以上版本都可以)

3

3、给需要验证的表单元素绑定附加属性

<form class="demoform"> <input type="text" value="" name="name" datatype="s5-16" errormsg="昵称至少5个字符,最多16个字符!" /> </form>

4

4、初始化,就这么简单

$(".demoform").Validform();

5

5、Validform支持扩展,当验证方法或者效果满足不了需求时,可以自行扩展validform方法。

END

注意事项

指定ajax实时验证的后台文件的地址时, 后台页面可以用 $_POST["param"] 接收到值,Ajax中会POST过来变量param和name。param是文本框的值,name是文本框的name属性。

jquery ajax 验证表单,没通过,则阻止提交表单,怎么做?

if(//验证条件) {

$.ajax({

})

}

  • 本文相关:
  • 零基础学习ajax之制作自动校验的表单
  • 浅析onsubmit校验表单时利用ajax的return false无效问题
  • 利用 linq+jquery+ajax 实现异步分页功能可简化带宽压力
  • 如何成为ajax高手
  • ajax 支持搜索引擎问题分析
  • 各种ajax方法的使用比较详解
  • ajax请求成功后打开新窗口地址
  • ajax中浏览器的缓存问题解决方法
  • ajax分页查询详解
  • 基于ajax+div的“左边菜单、右边内容”页面效果实现
  • 分享ajax创建简单实例代码
  • ajax验证用户的唯一性
  • 如何在异步提交form的时候利用jQuery validate实现表单验证
  • JQuery实现提交表单时候验证所有文本框是否为空
  • jquery在表单提交前有几种校验方法
  • validform用ajax提交表单时怎么验证
  • jquery ajax 验证表单,没通过,则阻止提交表单,怎么做?
  • jquery怎么实现当提交表单的时候执行一个函数
  • jquery form ajaxSubmit做表单验证提交的时候遇到的问题
  • JQuery实现提交表单时候需要验证所有文本框是否为空吗?
  • AJAX验证不通过不提交表单怎么实现
  • validate验证后 用ajaxForm 表单提交 validate的规则没通过还是会 提交?
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved