You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

所有输入框填充后启用提交按钮失效,是否因使用Google jQuery库?

解决「所有输入框填写完成后启用提交按钮」的问题

嘿,我来帮你搞定这个问题!先别怀疑Google的jQuery库,大概率是代码里的小细节没处理好,咱们一步步来排查:

首先,修复语法错误

你代码里的if ($(this).val() =...这里犯了个常见小错误:用了赋值运算符=,而不是比较运算符===/==!这会导致逻辑完全不对,得先改成:

if ($(this).val().trim() === '') {

另外加上trim()是为了避免用户只输入空格就被判定为“已填写”的情况。

完善完整逻辑

除了语法问题,还要注意这几个点:

  • 确保DOM加载完成后再绑定事件(虽然你用了自执行函数,但用jQuery的$(function(){...})更稳妥)
  • 提交按钮初始状态要设为禁用(比如给按钮加disabled属性)
  • 每次输入后遍历所有输入框,只要有一个为空就保持按钮禁用,全部填完才启用

给你一个完整的可运行代码示例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Hello, world!</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <script>
        $(function() {
            // 初始禁用提交按钮
            $('form button[type="submit"]').prop('disabled', true);

            // 监听输入框的输入事件(keyup + input 覆盖粘贴等场景)
            $('form > input').on('keyup input', function() {
                var allFilled = true;
                
                $('form > input').each(function() {
                    // 去掉前后空格后判断是否为空
                    if ($.trim($(this).val()) === '') {
                        allFilled = false;
                        return false; // 跳出循环,不用再检查其他输入框
                    }
                });

                // 根据结果启用/禁用按钮
                $('form button[type="submit"]').prop('disabled', !allFilled);
            });
        });
    </script>
</head>
<body>
    <form>
        <input type="text" placeholder="输入1"><br>
        <input type="text" placeholder="输入2"><br>
        <input type="text" placeholder="输入3"><br>
        <button type="submit">提交</button>
    </form>
</body>
</html>

额外注意事项

  • 如果你的输入框有不同类型(比如select、textarea),要把它们也加入到检查范围内
  • 如果输入框有动态添加的情况,要使用事件委托(比如$(document).on('keyup input', 'form > input', function(){...}))

这样改完应该就能正常工作啦,和你用的是Google的jQuery库完全没关系~

内容的提问来源于stack exchange,提问作者Nina Tunas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 07:53:30