通过ajax验证后,表单再提交

Ajax表单验证失败后,阻止表单提交(jQuery) Ajax表单验证失败后,阻止表单提交(jQuery) HTML界面 '<form action="/WangYiYun/PhoneLogin" id="login_form" class="phone_login_form">' + '<input type="text" id="phone" placeholder="请输入手机号" required="required" ... 阅读详情

通过ajax验证后,表单再提交。
注意:
(1)html中的form不能使用submit,而要使用button,
(2)同时button 的id和name不能是‘submit’,否则也会失败。
(3)form需要一个id(例如id=”formid”),方便在ajax中找到对应的表单。

表单中的代码
   <form action="{% url 'App:login' %}" method="post" id="formid">
        {% csrf_token %}
        <div class="row">
            <div class="col-md-6"></div>

            <div class="col-md-4">
                <span><h2>登录</h2></span>
                <div class="form-group  required">
                    <label class="control-label" for="name">用户名</label>
                    <input class="form-control" id="name" maxlength="10" name="name"
                           placeholder="请输入用户名" required type="text" value="">
                </div>

                <div class="form-group required">
                    <label class="control-label" for="password">密码</label>
                    <input class="form-control" id="password" maxlength="16" name="password"
                           placeholder="请输入密码" required type="password" value="">
                </div>

                <input class="btn btn-default" id="button" name="button" type="button" value="登录"
                       onclick= "checkfunction()">

            </div>
        </div>
    </form>

form中点击提交button后,会触发函数 checkfunction(),通过ajax把数据提交到check_login视图函数中进行检验,并返回json数据。如果返回的是200,就执行document.getElementById(‘formid’).submit() 实现提交表单。表单提交的到login视图函数保存数据到数据库。

ajax中的代码
function checkfunction() {
$.post({% url 'App:check_login' %}, {
                "username": usernamenode.val(),
                'userpassword': userpasswordnode.val()
            }, function (data, status) {
                console.log(data.code, status);
                if (data.code == 200) {
                    alert('登陆成功');
                    document.getElementById('formid').submit()
                    {# window.location.href='/' #}
                }

                else if (data.code == 404) {
                    alert("用户不存在")
                }
                else{
                    alert("请输入正确的密码")
                    }
            })
            }
为什么我把「大模型Clouder认证:基于百炼平台构建智能体应用」作为大模型学习的第一站?从 0 到拿证全流程经验分享 【摘要】作为一个刚拿下「大模型 Clouder 认证:基于百炼平台构建智能体应用」的过来人,想在开头就和大家聊聊这个认证的特殊意义 —— 在企业加速 AI 落地的今天,能用低代码快速构建智能体应用,已经成为 AI 从业者的核心竞争力。无论是企业微信客服提效、钉钉机器人自动化办公,还是网站智能助手升级,这些场景化能力正是当下数字化转型的刚需。 阅读详情

相关推荐

快速傅里叶变换(FFT)原理详解:从理论到实践

本文系统介绍了快速傅里叶变换(FFT)的理论与实践。首先阐述了傅里叶变换的数学定义和离散傅里叶变换(DFT)的矩阵表示,指出其O(N²)计算复杂度限制了实际应用。然后详细解析了Cooley-Tukey算法的核心思想,包括分治策略、蝶形运算原理和旋转因子的周期性特性,将复杂度降至O(Nlog₂N)。文章比较了按时间抽取(DIT)和按频率抽取(DIF)两种FFT算法实现,并讨论了FFT在信号处理等领域的应用及其局限性。通过理论分析和实例说明,展现了FFT如何成为现代数字信号处理的基石算法。

qq_42212808的博客 2925

ajax 提交form表单及后台处理

引言 ajax可以进行局部页面的刷新,那么如何应用ajax进行表单的提交和处理呢? 在网上看过一些资料,大都只是讲到了通过ajax将数据提交至后台,然而通过json格式提交至后台的数据还不能直接使用,需要做进一步处理。 本文就针对ajax提交表单和提交后的服务器端初步处理做一些概述。 前端:通过ajax实现表单的提交 前台样例 通过jQuery获取form表单,并进行数组形式的序列化。 前端的...

Adrian_Liao的博客 1021

STM32 BootLoader 入门教程:从原理到 APP 跳转实现

在 STM32 项目开发中,BootLoader 通常用于实现固件升级、程序引导和应用程序校验。本文从最基础的 BootLoader 原理开始,讲解 STM32 内部 Flash 分区设计、APP 地址偏移、向量表重定位、BootLoader 跳转 APP 的核心代码,以及实际开发中常见的问题。本文适合刚开始接触 STM32 BootLoader、IAP 在线升级、串口升级、OTA 升级的开发者阅读。

lidecong133的博客 1667

ajax验证通过再提交,jQuery通过ajax验证电子邮件,然后再通过ajax提交表单

我有一个配置文件创建表单,其中包含一个电子邮件地址字段。我需要确保用户输入的电子邮件地址格式正确,并且尚未使用。对于格式检查,我通过isValidEmailAddress函数执行了一个简单的客户端验证,效果很好。对于需要检查电子邮件地址是否不存在的另一部分,我向控制器方法执行了一个jquery帖子,如果该电子邮件已被某人使用,则返回一个字符串“电子邮件地址已在使用中”。第一个“return fal...

weixin_39616348的博客 243

TMS320C6678开发笔记1-6---C6678单核烧写程序

第6节 单核烧写加载程序 6.1节 TI参考文档 参考文档:《KeystoneI Bootloader Resources and FAQ》讲的非常好,建议一定要看 https://processors.wiki.ti.com/index.php/KeystoneI_Bootloader_Resources_and_FAQ#Direct_Boot_Examples_.28without_IBL.29 里面有三个工程: C6678 EVM SPI boot example C6657 EVM ..

kunkliu的博客 5693

网格聚类 Grid Clustering/Grid-based Clustering

本文主要简单介绍了网格聚类的基本概念,优缺点,应用场景,建模时的注意事项,评价指标,实现方法,python示例和模型参数等。

JasonH2021的博客 4827

ajax表单提交之前验证,提交Ajax之前的jQuery表单验证

JavaScript位:$(document).ready(function(){$('#form').submit(function(e){e.preventDefault();var $form = $(this);// check if the input is validif(! $form.valid()) return false;$.ajax({type:'POST',url:'ad...

weixin_26908317的博客 376

Python爬虫实战:汽车之家车型参数与口碑数据抓取分析

在当今信息爆炸的时代,购车决策已从传统的4S店咨询转变为数据驱动的智能化过程。汽车之家作为国内领先的汽车信息平台,汇聚了海量车型参数、车主口碑和专业评测数据。本文将详细介绍如何使用Python最新爬虫技术构建一个高效、稳定的汽车数据采集系统,通过多维度数据分析辅助用户做出更明智的购车决策。本项目将采用异步爬虫、智能反爬绕过、数据清洗与分析等现代化技术栈,完整实现从数据采集到可视化分析的全流程。本文详细介绍了如何使用Python最新技术构建一个功能完整的汽车之家数据爬虫系统。

2201_76125261的博客 1488

form表单验证(使用ajax和ajaxSubmit)

form表单验证(使用ajax和ajaxSubmit) 本博客由本人做项目时碰到的bug,解决后所写为了警示自己,同时希望能对别人有所帮助: 引入JQuery_form.js &amp;lt;script type=&quot;text/javascript&quot; src=&quot;${ctxStatic}/jquery/jquery.form.js&quot;&amp;gt;&amp;lt;/script&amp;gt;

weixin_42803027的博客 1万+

【AI智能体】飞书 AI 智能客服机器人搭建与使用实战操作详解

飞书 AI 智能客服机器人搭建与使用实战操作详解

congge 6050

RK3588 部署 YOLO26 目标检测:从环境搭建到 NPU 推理

采集图像(500+ 张,覆盖不同光照和角度)→ 筛选(删除模糊、无目标的图像)→ LabelImg 标注(选择 YOLO 格式)→ 划分 train:val:test = 7:2:1labelImg├── train/├── val/nc: 3类别顺序必须与 LabelImg 标注时一致。YOLO26 在 RK3588 上的部署流程是 PC 端训练 → ONNX 导出(opset=11)→ RKNN 转换(INT8 量化)→ 板端推理。

LXY_LOVE36的博客 418

提交按钮用ajax传数据,关于 js 页面中对提交按钮进行处理,然后再将数据提交到后台...

前台经验不足,现在碰到一个在我看来比较棘手的问题,请大家帮忙看看,指导指导。首先我来描述下我要实现的功能。在一个表单的创建页面,当数据都填写完成后,点击提交按钮。在 js 文件中根据所填信息,运用 ajax 到后台进行处理,后台处理完后会返回一个实际策略和一个优惠策略,通过 json 数据传到前台。然后在 ajax 成功获取 json 数据后弹出 confirm 让用户选择确定或取消。当用户点击确...

weixin_42389478的博客 967

yolov8涨点系列之轻量化主干网络替换

yolov8涨点系列之轻量化主干网络替换,以EfficientVit为例

zhang1379的博客 2887

通过bootstrap表单验证后ajax提交表单数据

表单示例: <form class="needs-validation tab-pane fade show active" autocomplete="off" novalidate="" id="signin-tab" name="loginform" method="post"> {% csrf_token %} <div class="form-group

bbsddn的博客 2429

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

表单提交前ajax验证,在Ajax提交之前进行jQuery表单验证

9 个答案:答案 0 :(得分:85)您可以使用submitHandler选项。基本上将$.ajax调用放在此处理程序中,即使用验证设置逻辑将其反转。$('#form').validate({... your validation rules come here,submitHandler: function(form) {$.ajax({url: form.action,type: form.m...

weixin_39831104的博客 838

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

JQuery ajax提交表单及表单验证

JQuery ajax提交表单及表单验证 博客分类: jsp/html/javascript/ajax/development Kit 开源项目 注:经过验证,formValidator只适合一个页面不超过一个表单的情况。 本例实现功能:通过ajax提交表单,并在提交表单前对表单的数据进行验证。 主要通过两个插件实现: 第一个: jQuery Form P...

416

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

先通过 layui 进行表单验证 ,验证通过后使用ajax提交表单

一、需求 使用 layui-verify 验证 表单选项 , 如果不满足则停留在此页面 , 不进行表单提交 。 如果表单验证通过 ,通过ajax对表单进行相应操作。 二、效果图 三、如何使用 ? 示例 : 表单 <form class="layui-form" id="addBookForm"> <div class="layui-form-item"> <label class="layui-form-label">

zhangbw's blog 3111

form表单提交前进行ajax验证

因为ajax是异步的,所以按照常规的写法,即使验证返回了false,表单也会被submit。 需要进行如下设置 function checkDate() { var result = true; //定义返回标识 $.ajax({ async: false, //设置为同步 ...

weixin_30482383的博客 1032

jquery之ajax提交、js验证表单

在HTML页面中,如果想提交表单后不刷新整个页面,通过ajax来提交是比较常用的方法。 Jquery针对ajax也做了一些封装,用起来非常方便。具体可以参照:http://www.w3school.com.cn/jquery/jquery_ref_ajax.asp   在提交表单的过程中,还会遇到一些验证操作,用js来做也可以。下面是我写的一个简单例子,可以作为参考。

Dreaming 1906

验证插件validate 表单ajax提交验证问题

1.按钮类型type="submit" 2.form的action不能写,否则默认就提交表单了,不会再执行ajax 3.ajax方法写在submitHandler方法里面 例如: validate设置默认参数: /* * 表单验证 * */if($('.form-validate').length > 0) { jQuery.validator.setDefault...

diaosheng8387的博客 214

ajax不通过也能提交表单,jquery+ajax验证不通过也提交表单问题处理

validationEngine给我们为前端的表单验证减少了很大的工作量.大部分情况我们使用validationEngine验证表单的形式有几种方式:1 使用正常的表单提交.这种情况validationEngine验证不通过是不会提交表单的.2 使用ajax提交表单,但是没有使用ajax验证.这种方式也比较简单,在我们使用ajax请求前检查验证是否通过就可以,例如://验证不通过时returnif...

weixin_42513387的博客 343

jquery+ajax验证不通过也提交表单问题处理

input class="textBox validate[required,minSize[6],maxSize[128],custom[onlyLetterNumber]]" type="text" name="userName" id="userName" maxlength="128" url="admin/user/uniqueName.htm" error="用户已存在..."/>//验证没有使用ajax验证的控件(不是ajax验证的字段是可以正常验证的, 不通过就返回)

weixin_71792169的博客 513

JQuery002: 表单验证及ajax数据提交

简单的表单校验及ajax数据提交

LaLaLa_CZ的博客 1531

jquery ajax 提交保留表单验证

jquery ajax 提交保留表单验证 1、表单: <form class="m-t"> <div class="form-group"> <input type="text" class="form-control" placeholder="登录账户" required="" id="user_...

shenyunyan8的专栏 252

ajax无刷新表单提交、验证码的使用

无刷新网页表单使用 1、给表单添加验证 //注册验证 $("#myform").valid([ { name: "reg_name", type: "text", isNull: "用户不能为空", onFocus: "请填写用户!" }, { name: "reg_email", type: "mail", isNull: "邮箱不能为空",

朱朱家园 2446

提交表单时,进行ajax验证

提交表单时,先进行ajax验证,根据验证结果判断是否提交表单。 这时的ajax验证必须是同步的,才能保证先验证后提交表单。 代码如下: function checkform(){ var flag=0; //ajax同步提交 $.ajax({ type : "get", url : "base.php", dataType:'j

uvyoaa的专栏 1595
上一篇: 快速排序
下一篇: Django的视图函数中接收不到上传的文件。
Angus____
博客等级 码龄8年 3粉丝 18原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值