0

0

比较 JavaScript 方法:使用 jQuery 与 Vanilla 启用或禁用按钮

PHPz

PHPz

发布时间:2023-08-28 17:05:09

|

695人浏览过

|

来源于php中文网

原创

比较 javascript 方法:使用 jquery 与 vanilla 启用或禁用按钮

在本文中,我们将讨论如何使用 JavaScript 启用或禁用按钮。首先,我们将了解它在普通 JavaScript 中的工作原理,稍后我们将了解如何使用 jQuery 来实现它。

JavaScript 是网络的核心技术之一。大多数网站都使用它,并且所有现代网络浏览器都支持它,而不需要插件。在本系列中,我们将讨论不同的提示和技巧,它们将帮助您进行日常 JavaScript 开发。

当您使用 JavaScript 时,您通常需要根据某些操作启用或禁用按钮。通常,当您使用表单时,您希望保持提交按钮处于禁用状态,直到用户填写表单中的所有必填字段。用户填写所有必填字段后,您希望自动启用它,以便用户可以单击按钮提交表单。

在 HTML 中,按钮元素有自己的状态,因此,您可以将其保持启用或禁用状态。例如,当加载表单时,您可以将按钮保持为禁用状态。稍后,您可以在 JavaScript 的帮助下启用它。

立即学习Java免费学习笔记(深入)”;

今天,我们将通过几个实际示例讨论如何使用 JavaScript 启用或禁用按钮。

使用 Vanilla JavaScript 启用或禁用按钮

在本节中,我们将讨论一个实际示例,该示例演示如何使用普通 JavaScript 启用或禁用按钮。

让我们看一下下面的例子。

<html>
    <head>
        <script>
            function toggleButton()
            {
                var username = document.getElementById('username').value;
                var password = document.getElementById('password').value;

                if (username && password) {
                    document.getElementById('submitButton').disabled = false;
                } else {
                    document.getElementById('submitButton').disabled = true;
                }
            }
        </script>
    </head>
    <body>
        <div>
            <form action="/submit.php" method="post">
                Username:<input type="text" name="username" id="username" onchange="toggleButton()">
                Password:<input type="password" name="password" id="password"  onchange="toggleButton()">
                <input id="submitButton" type="submit" value="Submit" disabled/>
            </form>
        </div>
    </body>
</html>

在上面的示例中,我们构建了一个非常简单的表单,其中有几个文本字段和一个提交按钮。需要注意的是,加载表单后,提交按钮处于禁用状态。我们使用 disabled 属性将提交按钮的默认状态设置为禁用。

接下来,我们在用户名和密码输入字段上定义了 onchange 事件。因此,当用户更改这些字段的值时,就会触发 onchange 事件,该事件最终调用 toggleButton 函数。在 toggleButton 函数中,我们检查用户是否在两个必填字段中输入了值。如果是这种情况,我们将提交按钮的 disabled 属性设置为 false,这最终会启用提交按钮,以便用户可以单击该按钮。另一方面,如果用户名或密码字段为空,我们将 disabled 属性设置为 true,这将禁用提交按钮,以便用户无法单击它。

在上面的示例中,我们使用了输入提交按钮,但您也可以使用 HTML 按钮,如下例所示。

DreamStudio
DreamStudio

SD兄弟产品!AI 图像生成器

下载
<button id="submitButton" disabled/>Submit</button>

这就是如何使用普通 JavaScript 来启用或禁用按钮。在下一节中,我们将了解如何使用 jQuery 库。

使用 jQuery 启用或禁用按钮

在本节中,我们将讨论如何借助 jQuery 库切换按钮的状态。

让我们修改一下上一节中讨论的示例。

<html>
    <head>
    <script src="https://code.jquery.com/jquery-3.6.0.js" integrity="sha256-H+K7U5CnXl1h5ywQfKtSj8PCmoN9aaq30gDh27Xc0jk=" crossorigin="anonymous"></script>
    <script>
        function toggleButton()
        {
            var username = $('#username').val();
            var password = $('#password').val();

            if (username && password) {
                $('#submitButton').attr('disabled', false);
            } else {
                $('#submitButton').attr('disabled', true);
            }
        }
    </script>
    </head>
    <body>
        <div>
            <form action="/submit.php" method="post">
                Username:<input type="text" name="username" id="username" onchange="toggleButton()">
                Password:<input type="password" name="password" id="password"  onchange="toggleButton()">
            <input id="submitButton" type="submit" value="Submit" disabled/>
            </form>
        </div>
    </body>
</html>

首先,我们已经加载了 jQuery 库,以便我们可以在我们的函数中使用它。上面示例中唯一的区别是我们使用 jQuery 对象的 attr 方法来更改按钮的状态。

jQuery 对象的 attr 方法用于设置或获取元素的特定属性的值。如果仅将其与单个参数一起使用,则它将用于获取属性的值。另一方面,如果将它与两个参数一起使用,则它用于设置属性的值。在我们的例子中,我们使用它来设置按钮的 disabled 属性的值。除此之外,一切都是一样的。

如果您使用的是 jQuery 1.5+,则需要使用 prop 方法而不是 attr 方法,如以下代码片段所示。

//...
$('#submitButton').prop('disabled', true);

或者,如果要删除元素的任何属性,也可以使用 jQuery 对象的 removeAttr 方法,如以下代码片段所示。其结果与将 disabled 属性设置为 false 的结果相同。

//...
$('#submitButton').removeAttr('disabled');

这些是您可以使用 jQuery 启用或禁用按钮的不同方法。

结论

今天,我们通过几个实际示例讨论了如何在 JavaScript 中启用或禁用按钮。除了普通 JavaScript 之外,我们还讨论了如何借助 jQuery 库来实现它。

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

WorkBuddy
WorkBuddy

腾讯云推出的AI原生桌面智能体工作台

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
jquery插件有哪些
jquery插件有哪些

jquery插件有jQuery UI、jQuery Validate、jQuery DataTables、jQuery Slick、jQuery LazyLoad、jQuery Countdown、jQuery Lightbox、jQuery FullCalendar、jQuery Chosen和jQuery EasyUI等。本专题为大家提供jquery插件相关的文章、下载、课程内容,供大家免费下载体验。

156

2023.09.12

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

337

2023.10.13

jquery删除元素的方法
jquery删除元素的方法

jquery可以通过.remove() 方法、 .detach() 方法、.empty() 方法、.unwrap() 方法、.replaceWith() 方法、.html('') 方法和.hide() 方法来删除元素。更多关于jquery相关的问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

406

2023.11.10

jQuery hover()方法的使用
jQuery hover()方法的使用

hover()是jQuery中一个常用的方法,它用于绑定两个事件处理函数,这两个函数将在鼠标指针进入和离开匹配的元素时执行。想了解更多hover()的相关内容,可以阅读本专题下面的文章。

515

2023.12.04

jquery实现分页方法
jquery实现分页方法

在jQuery中实现分页可以使用插件或者自定义实现。想了解更多jquery分页的相关内容,可以阅读本专题下面的文章。

312

2023.12.06

jquery中隐藏元素是什么
jquery中隐藏元素是什么

jquery中隐藏元素是非常重要的一个概念,在使用jquery隐藏元素之前,需要先了解css样式中关于元素隐藏的属性,比如display、visibility、opacity等属性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

129

2024.02.23

jquery中什么是高亮显示
jquery中什么是高亮显示

jquery中高亮显示是指对页面搜索关键词时进行高亮显示,其实现办法:1、先获取要高亮显示的行,获取搜索的内容,再遍历整行内容,最后添加高亮颜色;2、使用“jquery highlight”高亮插件。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

183

2024.02.23

jQuery 正则表达式相关教程
jQuery 正则表达式相关教程

本专题整合了jQuery正则表达式相关教程大全,阅读专题下面的文章了解更多详细内容。

51

2026.01.13

TypeScript类型系统进阶与大型前端项目实践
TypeScript类型系统进阶与大型前端项目实践

本专题围绕 TypeScript 在大型前端项目中的应用展开,深入讲解类型系统设计与工程化开发方法。内容包括泛型与高级类型、类型推断机制、声明文件编写、模块化结构设计以及代码规范管理。通过真实项目案例分析,帮助开发者构建类型安全、结构清晰、易维护的前端工程体系,提高团队协作效率与代码质量。

49

2026.03.13

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号