Javascript 为什么此密码验证代码不能与jquery表单向导一起使用?
我正在为我的表单使用jquery表单向导,它是一个多页表单,示例如下: 表单使用jquery验证插件&在jquery.validation.js中,没有密码或检查重新键入密码的验证规则 我尝试了许多其他简单的验证表单代码,但它们不适用于表单向导,这可能是因为这是多页表单,当我单击“下一步”按钮时,它不会传递信息 如果我使用mootools进行验证,那么jquery表单向导将停止工作 我尝试在一个小的定制之后使用上面提到的简单代码,但是它也不适用于表单,但是它适用于其他简单表单 请指导我如何在我的页面中使用此脚本,它与上述链接上的示例完全相似。 首先,我调用将值传递到表单向导来创建动画表单,代码如下所述Javascript 为什么此密码验证代码不能与jquery表单向导一起使用?,javascript,jquery,json,Javascript,Jquery,Json,我正在为我的表单使用jquery表单向导,它是一个多页表单,示例如下: 表单使用jquery验证插件&在jquery.validation.js中,没有密码或检查重新键入密码的验证规则 我尝试了许多其他简单的验证表单代码,但它们不适用于表单向导,这可能是因为这是多页表单,当我单击“下一步”按钮时,它不会传递信息 如果我使用mootools进行验证,那么jquery表单向导将停止工作 我尝试在一个小的定制之后使用上面提到的简单代码,但是它也不适用于表单,但是它适用于其他简单表单 请指导我如何在我
<script type="text/javascript">
$(function(){
$("#SignupForm").formwizard({
formPluginEnabled: true,
validationEnabled: true,
focusFirstInput : true,
formOptions :{
success: function(data){$("#status").fadeTo(500,1,function(){ $(this).html("You are now registered!").fadeTo(5000, 0); })},
beforeSubmit: function(data){$("#data").html("data sent to the server: " + $.param(data));},
dataType: 'json',
resetForm: true
}
}
);
});
</script>
$(函数(){
$(“#注册表单”).formwizard({
FormPlugineEnabled:正确,
validationEnabled:正确,
focusFirstInput:true,
表格选项:{
成功:函数(data){$(“#status”).fadeTo(500,1,function(){$(this).html(“您现在已注册!”).fadeTo(5000,0);},
beforeSubmit:function(data){$(“#data”).html(“发送到服务器的数据:+$.param(data));},
数据类型:“json”,
形式:正确
}
}
);
});
下面是我试图在表单中使用的验证代码,但它不起作用
<script type="text/javascript">
$(function(){
var pass1 = $('#password'),
pass2 = $('#passwordConfirm'),
email = $('#email'),
form = $('#SignupForm'),
strength = $('#strength'),
arrow = $('#form-div .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:7, strengthScaleFactor:0.4}, 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-30;
if(calculated <50){
$('#strength').text('Very Weak');
strength.removeClass('GreenJoy').addClass('RedWarn');
}
if(calculated >50 && calculated < 100){
$('#strength').text('Weak');
strength.removeClass('GreenJoy').addClass('RedWarn');
}
if(calculated >100 && calculated < 150){
$('#strength').text('Normal');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
if(calculated >170 && calculated < 200){
$('#strength').text('Good');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
if(calculated >235){
$('#strength').text('Perfect!');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
});
// 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');
}
});
});
</script>
$(函数(){
var pass1=$(“#password”),
pass2=$(“#passwordConfirm”),
电子邮件=$(“#电子邮件”),
表格=$('SignupForm'),
强度=$(“#强度”),
arrow=$(“#form div.arrow”);
//在加载时清空字段
$('#main.row input').val('');
//处理表格提交
表格(‘提交’)功能(e){
//所有内容都输入正确吗?
if($('#main.row.success').length==$('#main.row').length){
//对!!
提醒(“感谢您试用此演示文稿!”);
e、 preventDefault();//删除此项以允许实际提交
}
否则{
//否。阻止提交表格
e、 预防默认值();
}
});
//验证电子邮件字段
email.on('blur',function(){
//非常简单的验证
如果(!/^\S+@\S+\.\S+$/.test(email.val())){
email.parent().addClass('error').removeClass('success');
}
否则{
email.parent().removeClass('error').addClass('success');
}
});
//在第一个密码字段上使用complexify插件
pass1.complexify({minimumChars:7,strengthScaleFactor:0.4},函数(有效,复杂性){
如果(有效){
pass2.removeAttr(“禁用”);
pass1.parent()
.removeClass('错误')
.addClass(“成功”);
}
否则{
pass2.attr('disabled','true');
pass1.parent()
.removeClass(“成功”)
.addClass(“错误”);
}
计算的风险值=(复杂度/100)*268-30;
如果(计算50和计算<100){
$('强度').text('弱');
strength.removeClass('GreenJoy').addClass('RedWarn');
}
如果(计算值>100和计算值<150){
$('强度').text('正常');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
如果(计算值大于170和计算值小于200){
$('强度').text('良好');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
如果(计算值>235){
$('强度').text('完美!');
strength.removeClass('RedWarn').addClass('GreenJoy');
}
});
//验证第二个密码字段
pass2.on('keydown input',function(){
//确保其值等于第一个值
if(pass2.val()==pass1.val()){
pass2.parent()
.removeClass('错误')
.addClass(“成功”);
}
否则{
pass2.parent()
.removeClass(“成功”)
.addClass(“错误”);
}
});
});
我明白了:)
jquery.validate.js中有一个验证规则equalTo
我这样做是为了获得密码验证
HTML
<label for="password">Password</label>
<label for="password" id="strength" style="font-weight:normal"></label>
<input class="ui-wizard-content ui-helper-reset ui-state-default" disabled="disabled" name="password" id="password" type="password">
<label for="passwordConfirm">Retype password</label>
<input class="ui-wizard-content ui-helper-reset ui-state-default equalTo required" disabled="disabled" name="passwordConfirm" id="passwordConfirm" type="password">
密码
验证登陆密码
JavaScript
<script>
$(document).ready(function(){
$("#SignupForm").validate({
rules: {
password: "required",
passwordConfirm: {
equalTo: "#password"
}
}
});
});
</script>
$(文档).ready(函数(){
$(“#注册表”).validate({
规则:{
密码:“必需”,
密码确认:{
equalTo:“#密码”
}
}
});
});
您知道如何使用表单向导实现它吗