首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在字段通过验证前禁用“保存”。没有<form>标签

在没有<form>标签的情况下,可以通过JavaScript来实现在字段通过验证前禁用“保存”的功能。具体步骤如下:

  1. 首先,为保存按钮添加一个唯一的id属性,例如saveButton
  2. 使用JavaScript获取保存按钮的引用,可以通过document.getElementById()方法来实现,例如:var saveButton = document.getElementById('saveButton');
  3. 使用JavaScript为保存按钮添加一个点击事件监听器,监听保存按钮的点击事件。
  4. 在点击事件处理程序中,执行字段验证的逻辑。可以使用各种验证方法,例如正则表达式、条件判断等,根据具体需求进行验证。
  5. 如果字段验证通过,可以在点击事件处理程序中移除保存按钮的disabled属性,使其可点击,例如:saveButton.disabled = false;
  6. 如果字段验证不通过,可以在点击事件处理程序中添加保存按钮的disabled属性,使其禁用,例如:saveButton.disabled = true;

以下是一个示例代码:

代码语言:html
复制
<input type="text" id="field1" />
<input type="text" id="field2" />
<button id="saveButton" disabled>保存</button>

<script>
  var saveButton = document.getElementById('saveButton');

  saveButton.addEventListener('click', function() {
    // 执行字段验证的逻辑
    var field1Value = document.getElementById('field1').value;
    var field2Value = document.getElementById('field2').value;

    // 示例:判断字段是否为空
    if (field1Value !== '' && field2Value !== '') {
      saveButton.disabled = false; // 字段验证通过,启用保存按钮
    } else {
      saveButton.disabled = true; // 字段验证不通过,禁用保存按钮
    }
  });
</script>

这样,当字段验证不通过时,保存按钮将被禁用,用户无法点击保存按钮进行保存操作。只有当字段验证通过时,保存按钮才会被启用,用户可以点击保存按钮进行保存操作。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

ASP.NET MVC 5 - 给数据模型添加校验器

您可以通过在HTTP POST方法,用一个断点来验证这一点; 或通过使用fiddler tool,或者IE浏览器F12 developer tools。...调用此方法将验证对象上所有应用了验证约束的属性。如果对象含有验证错误,则Create方法会重新显示初始的form。如果没有任何错误,方法将保存信息到数据库。...如果您在浏览器中禁用 JavaScript,然后提交具有错误信息的form,断点将会命中。您仍然得到充分的验证,即使在没有 JavaScript的情况下。...下图显示了如何禁用 Internet Explorer 中的 JavaScript。 ? ? 下图显示了如何在火狐浏览器中禁用 JavaScript。 ?...下图显示了如何在 Chrome 浏览器中禁用 JavaScript。 ? 下面是框架代码在之前的教程中生成的Create.cshtml视图模板。

9K70

为woocommerce开发支付网关插件,对接支付通道

// 但在本教程中,我们从简单的支付开始 $this->supports = array( 'products' ); // 所有选项字段的方法 $this->init_form_fields...我们有的支付网关,可以先验证用户信息,比如你银行卡支付需要接收短信验证码之类的,来确认是用户本人操作,那就需要此步骤,反之,微信支付、支付宝支付、易支付、PayPal等等,支付都在第三方处理,不在我们服务器...) ) { return; } // 除非你的网站处于测试模式,否则不要在没有SSL的情况下验证。...( 'checkout_place_order', tokenRequest ); }); 添加支付字段表单 public function payment_fields() { // 在支付表单添加一些信息...', $this->id ); echo ''; } 处理付款 验证字段 像名字这样的结帐字段应该更早验证,下面是一个例子。

15810
  • JavaScript(十三)

    共有的表单字段属性 表单字段共有的属性和方法如下: disabled: 布尔值,表示当前字段是否被禁用 form: 指向当前字段所属表单的指针,只读 name: 当前字段的名称 readOnly: 布尔值...,表示当前字段是否只读 type: 当前字段的类型, “checkbox”、”radio” 等等 value: 当前字段将被提交给服务器的值 共有的表单字段方法 每个表单字段都有两个方法: focus...if(document.forms[0].checkValidity()) { //表单有效,继续 } else { //表单无效 } 禁用验证 通过设置 novalidate 属性,...--这里插入表单元素--> 为了指定点击某个提交按钮不必验证表单,可以在相应的按钮上添加 formnovalidate 属性: <form method="post" action...,则值为 -1 size: 选择框中可见的行数,等价于 HTML 中的 size 特性 选择框的 value 属性由当前选中项决定,相应规则如下: 如果没有选中的项,则选择框的 value 属性保存空字符串

    3.3K20

    .NET Core实战项目之CMS 第十四章 开发篇-防止跨站请求伪造(XSRFCSRF)攻击处理

    而我们这一章就来说道说道如何在ASP.NET Core中处理“跨站请求伪造(XSRF/CSRF)攻击”的,希望对大家有所帮助 写在前面 上篇文章发出来后很多人就去GitHub上下载了源码,然后就来问我说为什么登录功能都没有啊...并通过登录验证。 获取到 cookie_session_id,保存到浏览器 cookie 中。...当然您也可以通过以下方式禁用自动生成HTML表单元素的防伪令牌: 明确禁止asp-antiforgery,例如 ... 通过使用标签帮助器! 禁用语法,从标签帮助器转化为表单元素。 ... </!...在我们的CMS系统中的Ajax请求就是使用的自定义HeaderName的方式进行验证的,不知道大家有没有注意到!

    4K20

    表单脚本

    刚开始人们使用JavaScript,最主要的目的之一就是表单的验证,分担服务器处理表单的责任。虽然现流行的大部分提交方式是通过ajax,但了解表单,对于ajax方式也是有重大帮助的!...如果表单没有提交按钮,安回车键不会提交表单。 注意,通过上述方式提交表单,浏览器会在将请求发送给服务器之前触发submit事件。 这样就可以决定是否需要验证表单。...= document.forms[0]; form.elements[1] === form.elements["color"][0];// value值为red的input标签 (...1)表单字段属性 属性 作用说明 disabled 布尔值,表示当前字段是否被禁用 form 指向当前字段所属表单的指针;只读 name 当前字段的名称 readOnly 布尔值,表示当前字段是否只读...输入模式:注意,模式的开头和末尾不用加^和$符合(默认已经有了) (5)检测有效性:checkValidatity() (6)禁用验证

    4.8K41

    JavaScript表单基础

    ---- theme: channing-cyan 这是我参与8月更文挑战的第29天,活动详情查看:8月更文挑战 了解表单 我们应该知道JavaScript设计的的初衷很大程度上是为了处理表单验证,因为在那个远古时代表单验证通过后台来验证的...表单基础 表单在html中以标签元素展示,在js中它用HTMLFormElemnt类型表示。 介绍一下HTMLFormElement类型的属性和方法。...还有一种方法就是直接禁用提交按钮,给它设置一个disabled属性。 表单字段的公共属性 前面提到disabled属性,这个就是禁用。我们看一下表单里面都有什么公共属性。...disabled:布尔值,表示表单字段是否禁用form:指针,指向表单字段所属的表单。这个属性是只读的。 name:字符串,这个字段的名字。...type:字符串,表示字段类型,"checkbox"、"radio"等。 value:要提交给服务器的字段值。

    1.1K20

    Asp.Net MVC4入门指南(8):给数据模型添加校验器

    对于字段是最初为空 (创建视图中的字段) 和只有Required属性并没有其它验证属性的字段,您可以执行以下操作来触发验证: 1. Tab into the field. 2....上面的顺序将触发必需的验证,而并不需要点击提交按钮。在不输入任何字段的情况下,直接点击提交按钮,将触发客户端验证。直到没有客户端验证错误的情况下,表单数据才会发送到服务器。...调用此方法将验证对象上所有应用了验证约束的属性。如果对象含有验证错误,则Create方法会重新显示初始的form。如果没有任何错误,方法将保存信息到数据库。...如果您在浏览器中禁用 JavaScript,然后提交具有错误信息的form,断点将会命中。您仍然得到充分的验证,即使在没有 JavaScript的情况下。...下图显示了如何禁用 Internet Explorer 中的 JavaScript。 ? ? 下图显示了如何在火狐浏览器中禁用 JavaScript。 ?

    4.6K100

    Django ModelForm操作及验证方式

    model和form的结合体,所以有以下功能: 数据验证 数据库操作 model有操作数据库的字段form验证也有那几个字段,虽然耦合度降低,但是代码是有重复的。...默认情况下,浏览器可能会对这些字段进行他们自身的验证,这些验证可能比Django的验证更严格。...如果你想禁用这个行为,请设置form标签的novalidate属性,或者制定一个不同的字段TextInput。...(也可以自定义字段) localized_fields=('birth_date',) # 本地化,:根据不同时区显示数据 : 数据库中 2016-12-27 04:10:57 setting中的配置...=True) # 不做任何操作,内部定义 save_m2m(用于保存多对多) obj = form.save(commit=False) obj.save() # 保存单表信息 obj.save_m2m

    1.3K10

    AngularDart4.0 指南- 表单 顶

    向用户显示验证错误并启用/禁用表单控件。 使用模板引用变量在HTML元素之间共享信息。 您可以在Plunker中运行实例(查看源代码)并从那里下载代码。...您可以创造性地设计控件,将它们绑定到数据,指定验证规则和显示验证错误,有条件地启用或禁用特定控件,触发内置的视觉反馈等等。 Angular通过许多重复的,模板化的任务使处理过程变得简单。...这个表格中的三个字段中的两个是必需的。 遵循材料设计准则,必填字段带有星号(*)。 如果您删除了英雄名称,表单将以吸引人注意的风格显示验证错误: ?...显示和隐藏验证错误消息。 使用ngSubmit处理表单提交。 禁用窗体的提交按钮,直到窗体有效。 建立 按照设置说明创建一个名为表单的新项目。...表单提交,通过ngSubmit事件绑定处理。 模板引用变量,heroForm和name。 双向数据绑定([(ngModel)])。 用于验证和表单元素更改跟踪的NgControl 指令。

    17.5K30

    CSRF 跨站请求伪造

    字段;在请求地址中添加 token 并验证;在 HTTP 头中自定义属性并验证 (1)验证 HTTP Referer 字段 ​ 根据 HTTP 协议,在 HTTP 头中有一个字段叫 Referer...cookie 来通过安全验证。...如果不用{% csrf_token %}标签,在用 form 表单时,要再次跳转页面会报403权限错误。 用了{% csrf_token %}标签,在 form 表单提交数据时,才会成功。...然后,等用户需要用到form表单提交数据的时候,会携带这个 input 标签一起提交给中间件 csrf,原因是 form 表单提交数据时,会包括所有的 input 标签,中间件 csrf 接收到数据时,...如果不用{% csrf_token %}标签,在用 form 表单时,要再次跳转页面会报403权限错误。 用了{% csrf_token %}标签,在 form 表单提交数据时,才会成功。

    1.1K20

    form表单提交的几种方式

    表单提交文件/图片 需要设定form的enctype=“multipart/form-data” 如果不加这个会传不过去 附件只能通过submit方法进行提交 》》》》》》》》》》》》》》》》》》》》...-- input 属性 : value 属性规定输入字段的初始值 readonly 属性规定输入字段为只读(不能修改) disabled 属性规定输入字段禁用的。...被禁用的元素是不可用和不可点击的。 被禁用的元素不会被提交。 disabled 属性不需要值。它等同于 disabled="disabled"。...如果设置,则规定在提交表单时不对 元素进行验证。 formnovalidate 属性覆盖 元素的 novalidate 属性。...-- 在form标签中添加Action(提交的地址)和method(post),且有一个submit按钮()就可以进行数据的提交,每一个input标签都需要有一个

    6.4K20

    django 1.8 官方文档翻译: 5-1-1 使用表单

    考虑一下Django 的Admin 站点,不同类型的大量数据项需要在一个表单中准备好、渲染成HTML、使用一个方便的界面编辑、返回给服务器、验证并清除,然后保存或者向后继续处理。...我们已经对这个字段使用一个友好的标签,当渲染时它将出现在 中(在这个例子中,即使我们省略它,我们指定的label还是会自动生成)。 字段允许的最大长度通过max_length 定义。...如果你想禁用这个行为,请设置form 标签的novalidate 属性,或者指定一个不同的字段TextInput。...字段的数据 不管表单提交的是什么数据,一旦通过调用is_valid() 成功验证(is_valid() 返回True),验证后的表单数据将位于form.cleaned_data 字典中。...可重用的表单模板 如果你的网站在多个地方对表单使用相同的渲染逻辑,你可以保存表单的循环到一个单独的模板中来减少重复,然后在其它模板中使用include 标签来重用它: # In your form template

    4.2K20

    JavaScript 编程精解 中文第三版 十八、HTTP 和表单

    一个网页表单在其标签中包含若干个输入字段。HTML 允许多个的不同风格的输入字段,从简单的开关选择框到下拉菜单和进行输入的字段。...但是可以通过添加tabindex属性使任何元素可聚焦。tabindex为 -1 使 TAB 键跳过元素,即使它通常是可聚焦的。 禁用字段 所有的表单字段都可以通过其disable属性来禁用。...它是一个可以被指定为没有值的属性 - 事实上它出现在所有禁用的元素中。...文本字段 由type属性为text或password的标签和textarea标签组成的字段有相同的接口。其 DOM 元素都有一个value属性,保存了为字符串格式的当前内容。...当一个表单被提交时,会触发其submit事件,JavaScript 处理器可以通过调用preventDefault来禁用默认的提交事件。表单字段的元素不一定需要被包装在标签中。

    3.9K20

    Django-多对多关系的三种创建方式-forms组件使用-cookie与session-08

    这一般是用在前后端不分离项目中的 forms 后端定义规则并校验结果 写一个继承了 forms.Form 的类 写校验规则 写法和写模型表类极其相似,但是 forms 组件的字段有约束,模型表类的字段没有约束...,我们索引取 0,取消它的 ul li 标签嵌套 {% for form_field in form_obj %} {{ form_field.label }}:{{ form_field...forms 组件数据校验规则 从上往下依次取值校验 校验通过的放到 cleaned_data 校验失败的放到 errors 注意: form 中所有的字段默认都是必须传值的(默认:required=...True) 只要有一个字段通过form_obj.is_valid() 的结果就是 False,所有字段都校验通过了才会返回 True 校验数据的时候可以多传(多传的数据不会做任何的校验 >> >...(设置,禁用 cookie) 不让写 cookie 的话,所有要保存登录状态的页面都不能登录成功 查看 cookie 的三种方式 ?

    2.8K20

    37.Django1.11.6文档

    生成的标签会被放置到{{ form }}所在的位置。 现在我们有了一个可以工作的网页表单,它通过Django Form 描述、通过视图处理并渲染成一个HTML 。...这个方法完成于特定属性相关的验证,这个验证字段的类型无关。 这个方法没有任何传入的参数。 ...所以你需要记住这个事实,你需要验证字段可能没有通过初试的字段检查。 在这一步,有两种方法报告错误。 最简单的方法是在表单的顶端显示错误。 ...例如,您可能希望通过整数字段搜索,或使用外部工具(Solr或Haystack)。您必须确定通过搜索方法实现的查询集更改是否可能在结果中引入重复项,并在返回值的第二个元素中返回True。...默认为通过set_expiry()保存在会话中的值,如果没有则为None。 get_expiry_date() 返回过期的日期。

    24.3K80
    领券