问题描述
请让我知道,我做错了什么? 这是示例之一中的简单代码,当我尝试使用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;
}