gpt4 book ai didi

javascript - 为什么此密码验证码不适用于 jquery 表单向导?

转载 作者:行者123 更新时间:2023-11-30 05:53:22 24 4
gpt4 key购买 nike

我正在为我的表单使用 jquery 表单向导,它是一个多页表单,示例如下:<强> http://thecodemine.org/examples/example_1_straight.html

表单使用了 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>

下面是我尝试在表单中使用的验证码,但它不起作用

     <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>

最佳答案

我明白了:)

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>

关于javascript - 为什么此密码验证码不适用于 jquery 表单向导?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13408204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com