首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >ajax表单在提交前如何验证?

ajax表单在提交前如何验证?
EN

Stack Overflow用户
提问于 2014-09-27 08:19:42
回答 5查看 14.9K关注 0票数 1

我正在做ajax跨域请求到我的服务器上的php页面。我张贴表单从html通过ajax到我的服务器上的php页面。在客户端验证时遇到问题。

在发送表单之前,我不知道如何在客户端进行验证。

html表单是标准表单,张贴输入字段:姓名、姓氏、消息...我的html表单,客户端:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script type="text/javascript">

    var output = $('.nesa');

     $(document).ready(function(){
     $("#form1").submit(function (e) {
     e.preventDefault();

    $.ajax({
        url: 'http://www.example.com/form.php',
        crossDomain: true, //set as a cross domain requests
        type: 'post',
        data: $("#form1").serialize(),
        beforeSend: function (){
        // add spinner
         $('.spinner').append('<img id="animacija" src="spinnersmall.gif" alt="Loading" />');
                   },

        success: function (data) {
            $(".nesa").html(data);
            alert("sent " + data);

        },

        error: function(){

            output.text('Message is not sent!');

        }

    });
});

});

如何进行验证?我尝试将代码放在beforeSend中,但没有成功。或者使用submitHandler?

想法是当用户单击提交时,验证开始,如果没有提示“插入您电子邮件地址”。现在,当我单击submit时,它会将数据发送到服务器。我要先检查输入字段。

这个表单的实际工作是将数据发送到服务器,但只需要弄清楚如何进行验证。在ajax调用中将验证放在哪里?

谢谢

EN

回答 5

Stack Overflow用户

发布于 2014-09-27 08:30:33

创建一个函数来验证返回true/false的表单。在$.ajax之前调用该函数。检查return是否为false,然后返回..请看下面的例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
if(!validateForm())
    return false;
票数 2
EN

Stack Overflow用户

发布于 2014-09-27 08:28:47

请在发送ajax请求之前验证表单。如果没有错误,则应发送ajax请求,否则将返回false。你可以这样做:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 $("#form1").submit(function (e) {
     e.preventDefault();

    // Get the Login Name value and trim it
    var name = $.trim($('#name').val());

    // Check if empty of not
    if (name === '') {
        alert('Text-field is empty.');
        return false;
    }
});

你可以在这里看到演示(http://jsfiddle.net/LHZXw/1/)

您还可以将函数设为onKeyup。

票数 1
EN

Stack Overflow用户

发布于 2014-09-27 08:28:57

首先,您是否真的在使用AJAX表单?

您解释过通过AJAX加载表单本身,但是您也是这样发送表单的吗?在我看来,您正在尝试以HTML的方式发送它。在发送表单之前,您可以连接到send按钮的click event。但是,由于该按钮是在运行时添加到页面的,因此您需要将事件注册到document

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$(document).on('click', 'input[type=submit]', function() {
    // Validate form
    // Add error message on fail, and return
    // Else submit form via AJAX
});

在这两种情况下,您都可以使用jQuery's blur event作为替代方法,在用户跳转到下一个字段时验证每个字段。您甚至可以在用户每次使用keypress按键时进行验证。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26072754

复制
相关文章
模拟按钮的可访问性
为了创建更加漂亮的按钮,我们在项目实践中经常使用A、SPAN等元素模拟按钮,而不是使用更合语义的input[button]或者button元素。使用这种方法我们可以快速的创建各浏览器表现一致的按钮,免受各种bug困扰,但同时也带来了可访问性问题。
Jace
2018/08/01
8870
WAI-ARIA 可访问性尝试
WAI-ARIA 的全称是 Web Accessibility Initiative – the Accessible Rich Internet Applications Suite。简而言之:我们使用这个标准定义的一些方式,来实现无障碍化,目的是为了让那些残障人士也可以顺利的访问我们的站点。
上山打老虎了
2022/06/15
4350
WAI-ARIA 可访问性尝试
如何提高网站的可访问性?
关于可访问性的错误观念 可访问性影响所有用户,而不仅仅是那些有特定障碍的用户。接受这一点意味着实现可访问性就是建立压力案例。压力案例指的是影响任何一个人的任何医疗或任何情境状况,无论是什么场景时间点。一些常见的压力案例原因是:
lyb-geek
2018/12/11
1.5K0
关于 Web 可访问性的神话
网络可访问性是每个 Web 开发项目中的必去之处,但对于许多 Web 开发人员来说,它似乎仍是个谜。就像这是传奇的东西, 而不是工作所需的基本技能。
OwenZhang
2021/12/08
6680
关于 Web 可访问性的神话
可访问性测试(无障碍测试)
网络是向所有人开放的,作为一个测试者(也是人),我们有责任检查它是否对所有用户开放。反过来,这将为业务的成功做出很大贡献,因为我们努力让每个用户都能访问应用程序。
FunTester
2023/08/04
7800
可访问性测试(无障碍测试)
10步大幅提升网站可访问性
10步大幅提升网站可访问性:1. 检查<title>标签;2. 提供文字替代方案;3. 检查表单;4. 使用heading做信息架构;5. 减少焦点劫持;6. 按Ctrl+或command+查看页面缩放;7. 添加landmark角色;8. 设置快捷键;9. 触发界面转换需设置焦点;10. 填写一个简单的链接到<body>之后作为第一个内容元素。
RP道貌不岸然
2017/11/22
1K0
10步大幅提升网站可访问性
运营数据库系列之可访问性
这篇博客文章是CDP中Cloudera的运营数据库(OpDB)系列文章的一部分。每篇文章都会详细介绍新功能。从该系列的开头开始,请参阅CDP 中的 Operational Database 。
大数据杂货铺
2020/04/21
8730
运营数据库系列之可访问性
提升网站可访问性的CSS实践方法
随着互联网的不断发展,越来越多的人开始依赖于网络,如何让网站更加易于访问、易于阅读是一个至关重要的问题。本文将从多个方面介绍如何使用CSS来提升网站的可访问性。
很酷的站长
2023/10/07
2460
提升网站可访问性的CSS实践方法
.Net6种成员的可访问性
CLR术语 C#术语 描述 Private private 成员只能由定义类型或任何嵌套类型访问 Family protected 成员只能由定义类型,任何嵌套类型或者不管在任何程序集中声明的派生类型访问 Family  and  Assembly 不支持 成员只能由定义类型,任何嵌套类型或者同一程序集中定义的派生类型访问 Assembly internal 成员只能由定义程序集访问 Family or Assembly protected  internal 成员可由定义类型,任何嵌套类型,任何派生类或者
莫问今朝
2018/08/31
5920
10条提高网站可访问性的建议
我们收集了10条提高网站可访问性的建议以保证网站你的网站对任何人都是友好的,包括残疾人。
frontoldman
2019/09/02
1K0
10条提高网站可访问性的建议
如何测试你做的项目的可访问性
编者按:本文作者:安佳,360 搜索事业部的前端开发工程师,W3C CSS 工作组成员。
苏南
2020/12/16
1.9K0
如何测试你做的项目的可访问性
C#2.0新增功能07 getter/setter 单独可访问性
  属性是一种成员,它提供灵活的机制来读取、写入或计算私有字段的值。 属性可用作公共数据成员,但它们实际上是称为访问器的特殊方法。 这使得可以轻松访问数据,还有助于提高方法的安全性和灵活性。
张传宁IT讲堂
2019/09/17
4110
使用 CSS prefers-* 规范,提升网站的可访问性与健壮性
互联网发展到今天,对于我们的前端而言,我们的关注点不应该仅仅是我们产出的页面能不能用,也需要更多的去关注我们的页面好不好用,有没有照顾到更多的用户群体?
Sb_Coco
2021/06/08
6690
使用 CSS prefers-* 规范,提升网站的可访问性与健壮性
如何提高 Web 可访问性,让残障人士拥有更好的体验?
如果你创建了 Web 内容,那么即使从未写过一行代码或登录 CMS,你也可以在可访问性方面发挥作用。
深度学习与Python
2022/11/28
7250
如何提高 Web 可访问性,让残障人士拥有更好的体验?
A11Y(Accessibility 可访问性)的研发投入到底值不值?| GMTC
Accessibility 是指可访问性,很多时候也被人称为无障碍,之前有人一度认为,只要让盲人人士可以正常访问(操作)Web 应用或 Web 网站,那么该应用就具备可访问性,也意味着无障碍设计做得好。但这个认知并不准确,我们通常所说的可访问性,更侧重于对用户的“方便性”的考量,即让尽可能多的人使用你的网站。 Tim Berners-Lee(万维网的发明者和 W3C 主管)曾说过:“Web 的力量在于它的普遍性,每个人不论残疾与否都能访问是一个最基本的方面”。W3C 则将“无障碍(Accessibilit
深度学习与Python
2023/04/01
5390
A11Y(Accessibility 可访问性)的研发投入到底值不值?| GMTC
[译] 世界比以往任何时候都更需要 Web 可访问性
原文地址:https://levelup.gitconnected.com/the-world-needs-web-accessibility-now-more-than-ever-df8dc4aab2b6 原文作者:KBronJohn 译文出自:"掘金翻译计划"(https://github.com/xitu/gold-miner) 本文永久链接:https://github.com/xitu/gold-miner/blob/master/article/2020/the-world-needs-web
江米小枣
2020/09/16
3690
监视器
想了解 synchronized 是如何运行的?就要先搞清楚 synchronized 是如何实现? synchronized 同步锁是通过 JVM 内置的 Monitor 监视器实现的,而监视器又是依赖操作系统的互斥锁 Mutex 实现的,那接下来我们先来了解一下监视器。
磊哥
2022/05/10
8600
监视器
可测性设计DFT
穷举测试向量, 就需要214=16384个测试矢量,对于一个有38个输入端口的16位的ALU来说,以10 MHz的速度运行完所有的测试矢量需要7.64个小时.
数字芯片社区
2022/12/18
1.3K0
可测性设计DFT
Google Fonts 已可正常访问,相关插件可卸
大概9 个月前Google Fonts 所在的googleapis.com 被墙,导致WordPress 后台访问慢(详细点这)。最新的情况是,谷歌官方为Google Fonts在国内解析了个国内ip,因此Google Fonts 在国内已可正常访问,相关插件可以卸掉了。 详情 各位可以ping 下fonts.googleapis.com,在国内解析出:googleadapis-china.1.google.com,对应的203.208.48.136是来自北京市海淀区北京谷翔信息技术有限公司的IP地址——即
Jeff
2018/01/19
2.3K0
Google Fonts 已可正常访问,相关插件可卸
设置 jupyter notebook 可远程访问
默认情况下,安装好 Anaconda 后打开 jupyter notebook, 访问本地 localhost:8888 即可。但是如果要访问另一台机器,比如远端服务器上的 notebook, 即默认是不支持 172.104.105.119:8888 这样的访问,需要额外配置。
用户1558438
2018/08/23
2.3K0

相似问题

如何在cPanel中托管Laravel和Inertiajs (React)应用程序?

14

在单域cpanel中托管多个react应用程序

13

如何在cPanel上托管node react web应用程序?

19

Drupal AEgir托管系统和cPanel

11

NodeJS cPanel托管

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文