Javascript 不是 运行 或正在工作?
Javascript Not Running or Working?
我有一个项目,其中包含一个带有密码表的登录表单。我关注了a tutorial from cssdeck, then tried copy-pasting the code into a JSFiddle to see results. It works on the demo, but not on my JSFiddle。问题是密码表不工作。我已经通读了 JavaScript,没有发现任何问题。
任何建议都会很好。为什么完全相同的代码在 Fiddle 中不起作用?
$(function(){
var pass1 = $('#password1'),
pass2 = $('#password2'),
email = $('#email'),
form = $('#main form'),
arrow = $('#main .arrow');
// Empty the fields on load
$('#main .row input').val('');
// Handle form submissions
form.on('submit', function(e){
// Is everything entered correctly?
if ($('#main .row.success').length == $('#main .row').length) {
// Yes!
alert("Thank you for trying out this demo!");
e.preventDefault();
// Remove this to allow actual submission
} else {
// No. Prevent form submission
e.preventDefault();
}
});
// Validate the email field
email.on('blur', function(){
// Very simple validation
if (!/^\S+@\S+\.\S+$/.test(email.val())) {
email.parent().addClass('error').removeClass('success');
} else {
email.parent().removeClass('error').addClass('success');
}
});
// Use the complexify plugin on the first password field
pass1.complexify({minimumChars: 6, strengthScaleFactor: 0.7},
function(valid, complexity){
if (valid) {
pass2.removeAttr('disabled');
pass1.parent().removeClass('error').addClass('success');
} else {
pass2.attr('disabled','true');
pass1.parent().removeClass('success').addClass('error');
}
var calculated = (complexity / 100) * 268 - 134;
var prop = 'rotate(' + (calculated) + 'deg)';
// Rotate the arrow
arrow.css({
'-moz-transform': prop,
'-webkit-transform': prop,
'-o-transform': prop,
'-ms-transform': prop,
'transform': prop
});
}
);
// Validate the second password field
pass2.on('keydown input', function(){
// Make sure its value equals the first's
if (pass2.val() == pass1.val()) {
pass2.parent().removeClass('error').addClass('success');
} else {
pass2.parent().removeClass('success').addClass('error');
}
});
});
jquery.complexify 插件也包含在内。
您没有在代码中包含 jQuery 库。
这是来自您的 fiddle
您需要像这样在 fiddle 中包含 jQuery
这是您添加 jQuery https://jsfiddle.net/5n90vLgn/
后的相同代码的 fiddle
在您的页面中,您需要在之前编写您的js代码或包含外部js文件,以包含jquery 来自 CDN (*),即
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
或包含 jQuery 的本地副本,例如:
<script src="path/to/jquery.js/"></script>
(*) 以上CDN来自jQuery网站,还有jquery的其他CDN如Google libraries or CDNjs libraries
我有一个项目,其中包含一个带有密码表的登录表单。我关注了a tutorial from cssdeck, then tried copy-pasting the code into a JSFiddle to see results. It works on the demo, but not on my JSFiddle。问题是密码表不工作。我已经通读了 JavaScript,没有发现任何问题。
任何建议都会很好。为什么完全相同的代码在 Fiddle 中不起作用?
$(function(){
var pass1 = $('#password1'),
pass2 = $('#password2'),
email = $('#email'),
form = $('#main form'),
arrow = $('#main .arrow');
// Empty the fields on load
$('#main .row input').val('');
// Handle form submissions
form.on('submit', function(e){
// Is everything entered correctly?
if ($('#main .row.success').length == $('#main .row').length) {
// Yes!
alert("Thank you for trying out this demo!");
e.preventDefault();
// Remove this to allow actual submission
} else {
// No. Prevent form submission
e.preventDefault();
}
});
// Validate the email field
email.on('blur', function(){
// Very simple validation
if (!/^\S+@\S+\.\S+$/.test(email.val())) {
email.parent().addClass('error').removeClass('success');
} else {
email.parent().removeClass('error').addClass('success');
}
});
// Use the complexify plugin on the first password field
pass1.complexify({minimumChars: 6, strengthScaleFactor: 0.7},
function(valid, complexity){
if (valid) {
pass2.removeAttr('disabled');
pass1.parent().removeClass('error').addClass('success');
} else {
pass2.attr('disabled','true');
pass1.parent().removeClass('success').addClass('error');
}
var calculated = (complexity / 100) * 268 - 134;
var prop = 'rotate(' + (calculated) + 'deg)';
// Rotate the arrow
arrow.css({
'-moz-transform': prop,
'-webkit-transform': prop,
'-o-transform': prop,
'-ms-transform': prop,
'transform': prop
});
}
);
// Validate the second password field
pass2.on('keydown input', function(){
// Make sure its value equals the first's
if (pass2.val() == pass1.val()) {
pass2.parent().removeClass('error').addClass('success');
} else {
pass2.parent().removeClass('success').addClass('error');
}
});
});
jquery.complexify 插件也包含在内。
您没有在代码中包含 jQuery 库。
这是来自您的 fiddle
您需要像这样在 fiddle 中包含 jQuery
这是您添加 jQuery https://jsfiddle.net/5n90vLgn/
后的相同代码的 fiddle在您的页面中,您需要在之前编写您的js代码或包含外部js文件,以包含jquery 来自 CDN (*),即
<script src="//code.jquery.com/jquery-1.12.0.min.js"></script>
或包含 jQuery 的本地副本,例如:
<script src="path/to/jquery.js/"></script>
(*) 以上CDN来自jQuery网站,还有jquery的其他CDN如Google libraries or CDNjs libraries