- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
对于学校作业,我必须制作一个 jQuery 插件。我几乎完成了它,但由于某种原因我真的看不到,当我尝试提交表单时,我最终陷入了无限循环(这会导致 Google Chrome 崩溃)。这是代码:
console.log("starting plugin");
$(document).ready(init);
function init() {
$('#password').on('keyup', clickHandler);
}
function clickHandler() {
console.log("clickHandler");
$.fn.passwordCheck();
}
(function () {
var settings = {
passwordInput: $('input[type="password"]'),
passwordNeededLength: 8,
passwordStrenght: 2,
errorMessageLoc: 'passwordinfomessage',
messageLoc: '#passinfo'
};
var methods = {
init: function () {
console.log("started methods init");
methods.checkStrength();
},
createMessages: function (status) {
console.log("start function createmessages");
var $messageLoc = $(settings.messageLoc);
var $errormessage = settings.errorMessageLoc;
$($messageLoc).css("display","inline-block");
if (status === 1) {
$("#passinfo").empty();
$messageLoc.append("<p id='passwordLength' class=" + $errormessage + ">the password needs to be atleast " + settings.passwordNeededLength + " characters</p>");
console.log("created message #1");
} else if (status === 2) {
$("#passinfo").empty();
$($messageLoc).append("<p id='weak' class=" + $errormessage + ">The password is to weak to be accepted, please try adding some characters</p>");
console.log("created message #2");
} else if (status === 3) {
$("#passinfo").empty();
$($messageLoc).append("<p id='good' class=" + $errormessage + ">The password is the password is of good strength, u can try adding some numbers and capital letters</p>");
console.log("created message #3");
} else if (status === 4) {
$("#passinfo").empty();
$($messageLoc).append("<p id='strong' class=" + $errormessage + ">The password is strong</p>");
console.log("created message #4");
} else if (status === 5) {
$("#passinfo").empty();
$($messageLoc).append("<p id='submitButtonMessage' class=" + $errormessage + ">Something is wrong with your password</p>");
console.log("created message #5");
}
},
checkStrength: function () {
console.log("start function checkStrength");
var strength = 0;
if (settings.passwordInput.val().length >= settings.passwordNeededLength) {
strength += 1;
console.log("password length is accept");
if (settings.passwordInput.val().length >= 25) strength += 2;
if (settings.passwordInput.val().match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) strength += 1;
if (settings.passwordInput.val().match(/([a-zA-Z])/) && settings.passwordInput.val().match(/([0-9])/)) strength += 1;
if (settings.passwordInput.val().match(/([!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1;
if (settings.passwordInput.val().match(/(.*[!,%,&,@,#,$,^,*,?,_,~].*[!,%,&,@,#,$,^,*,?,_,~])/)) strength += 1;
methods.checkStrengthResult(strength);
}
else {
console.log(settings.passwordInput.val().length);
console.log("not big");
if (settings.passwordInput.val() == 0) {
console.log("just entered the site");
} else {
$('.' + settings.errorMessageLoc).remove();
methods.createMessages(1);
}
}
},
checkStrengthResult: function (strength) {
console.log("start function checkStrengthResult");
console.log(strength);
//if value is less than 2
if (strength < 2) {
console.log("password is to weak");
methods.createMessages(2);
}
if (strength == 2) {
console.log("password is good");
methods.createMessages(3);
}
if (strength > 3) {
console.log("password is strong");
methods.createMessages(4);
methods.checkPasswordStrength(strength)
}
}
,
checkPasswordStrength: function (strength) {
$( "#testform" ).submit(function( event ) {
console.log( "Handler for .submit() called." );
if (strength >= settings.passwordStrenght&& settings.passwordInput.val().length >= settings.passwordNeededLength){
console.log("is good");
console.log("i will submit");
$( "#testform" ).submit();
event.preventDefault();
} else{
console.log("not good");
event.preventDefault();
methods.init();
}
});
// console.log("stopt posting");
// if (typeof strength == 'undefined'|| strength == 0) {
// event.preventDefault();
// console.log("strength was undifined");
// methods.init()
// } else {
// if (strength >= settings.passwordStrenght&& settings.passwordInput.val().length >= settings.passwordNeededLength) {
// console.log("password is strong enhough");
// event.preventDefault();
// } else {
// console.log("stoping submitting");
//// console.log(strength);
// event.preventDefault();
// methods.createMessages(5);
//
// }
// }
//// }
}
};
$.fn.passwordCheck = function (options) {
console.log("start password check");
if (options) {
settings = $.extend(settings, options);
console.log(options);
console.log(settings);
}
$('#password').on('keyup', methods.init());
$('#submitbutton').on('click', methods.checkPasswordStrength());
return this;
};
})(jQuery);
在最后一种方法中,我之前尝试过一些方法,但我没有得到有效的以太币。
最佳答案
您必须提交,然后在处理程序中再次提交表单。
改变
$( "#testform").submit();
至
$( "#testform")[0].submit();
这将执行 native 表单提交,而不是再次触发提交事件。
关于javascript - 看不到我正在制作的 inf 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23015018/
我一直在尝试处理一个类项目,在该项目中我必须设置一个面向 GUI 的转换程序,并且我试图将数据从我的类的方法传递到 ActionListener,但监听器是告诉我文本字段不存在。它位于同一个包和类中,
我在服务器上有两个版本的 PHP(Centos 6.8) - 5.6 和 7.1 我的 Nginx 使用 php7.1,它不是默认的 PHP 解释器。 经过一番与 yum 的斗争后,我安装了 php7
我正在尝试为 BEAGLE 安装 OpenCL .首先,我下载了 intel_sdk_for_opencl_applications_2020.3.494.tar.gz 来自 here .然后我解压并
我想知道为什么我在 controlPanel 中看不到 topPanel 这是我的代码: import java.awt.BorderLayout; import java.awt.Color; im
在我的 urls.py 中,我有以下内容: urlpatterns = patterns('', # Examples: #url(r'^$', 'welcome_page.home'
非常感谢大家的帮助! 在 GetProductByID 下,我收到一条错误消息“int does not contain a definition for FirstOrDefault”。 using
1) 我已经通过 my computuer -> System variables; 设置了变量 CLASSPATH 2) 重新启动控制台并键入 echo %CLASSPATH%,CLASSPATH
我已经看过这篇文章了PHP doesn't see mysql extension ,但这对我没有帮助。 我使用: Windows Seven(在虚拟机中为 32 位,在真实电脑上为 64 位) 带
当我尝试通过输入 python3 来验证 Python3 是否可以看到 Django 时其次是 import django进入终端(这样我就可以打印 Django 的版本号),我得到以下错误: Tra
我已经使用 easy_install 安装了 pygraphviz但是当我启动 python 时出现错误: >>>import pygraphviz as pgv Traceback (most re
在向 Microsoft 报告之前,我想在这里问一下。我有一个问题,我无法看到我的 WinUI 3 应用程序的实时可视化树。我什至看不到应用程序内工具栏。我可以在 WPF 和 UWP 应用程序中看到,
我对缺乏基本的了解和 内。 我希望看到 39 个 svg 子元素,100 像素高,每个子元素中都有清晰的文本。 http://jsfiddle.net/pn5sj8ge/ 最佳答案 发生这种情况的原因
我正在尝试设置一个新的持续集成服务器,该服务器利用 Phing 和 PHPUnit 自动运行测试用例。 我已经用 Pear 安装了 Phing: pear channel-discover pear.
lua -e "print(package.path)" ./?.lua;/usr/share/lua/5.1/?.lua;/usr/share/lua/5.1/?/init.lua;/usr/lib
我刚刚从 https://github.com/llvm/llvm-project.git 安装了 clang++ 和 libc++ .尝试运行时: clang main.cpp -stdlib=li
我一直在使用 Highstock 图表,我注意到当图表中有很多点时,无法使用工具提示查看最后一个点: 您可以看到工具提示显示了 5 月 9 日的点,而还有一个显示 5 月 10 日的点(正如您在范围选
This question already has answers here: error_log message is truncated when using print_r (5个答案) 1年前
我在编写 Selenium 测试来检查我的应用程序时遇到问题。我想测试的是,当用户输入正确的登录名/密码时,会显示正确的页面并且用户已登录。 主要问题是我的登录表单是作为 AngularJS 指令生成
我正在尝试在 Azure 服务上发布我的 ASP.NET Core 应用程序。这有效,但是当我尝试使用应用程序功能时,我收到消息 Your App Service app is up and runn
在我的 ionic 应用程序中,我有一个功能,用户应该在应用程序的导航栏中看到水平点线,单击它们,然后应该出现一个弹出菜单,其中包含两个菜单项(添加到收藏夹并添加评论)。下图说明了我的观点。 问题是这
我是一名优秀的程序员,十分优秀!