我无法禁用联系表单上的“提交”按钮

问题描述

我已经尝试过对所有类似海报推荐的内容,但是没有任何效果

请让我知道,我做错了什么? 这是示例之一中的简单代码,当我尝试使用jsfiddle效果很好,但是一旦在网页上运行它,该按钮将被禁用,但是javascript显示错误21(未捕获的ReferenceError:$不是定义)here is the original link

<form>
    Username<br />
    <input type="text" id="user_input" name="username" /><br />
    Password<br />
    <input type="text" id="pass_input" name="password" /><br />
    Confirm Password<br />
    <input type="text" id="v_pass_input" name="v_password" /><br />
    Email<br />
    <input type="text" id="email" name="email" /><br />
    <input type="submit" id="register" disabled value="Register" />
    </form>
    <div id="test">
    </div>
    <script>$('#user_input,#pass_input,#v_pass_input,#email').bind('keyup',function() {
        if(allFilled()) $('#register').removeAttr('disabled');
    });

    function allFilled() {
        var filled = true;
        $('body input').each(function() {
            if($(this).val() == '') filled = false;
        });
        return filled;
    }</script>

解决方法

您需要在代码中包含jquery($)。 最简单的方法是在db.collection.aggregate([ { $unwind: "$items" },{ $group: { _id: "$_id",h: { $push: "$items.h" },t: { $push: { $toLong: { $dateFromString: { dateString: "$items.d" } } } } } } ]) 逻辑所在的脚本标签之前添加以下行。您也可以将其放置在allFilled()标记中。但是请确保在包含jquery之后保留使用<head>(jquery)的任何代码。

$

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
$('#user_input,#pass_input,#v_pass_input,#email').bind('keyup',function() {
  if (allFilled()) $('#register').removeAttr('disabled');
});

function allFilled() {
  var filled = true;
  $('body input').each(function() {
    if ($(this).val() == '') filled = false;
  });
  return filled;
}