我正在使用用户必须填写两个步骤的表单,第一步他必须提供他的姓名和电子邮件,第二步他必须提供他选择的密码,所以我必须在同一个表单中执行两次验证,这是第一步成功,但在第二步中它只是简单地忽略并且正在提交表单。
这是js代码:
jQuery(document).ready(function() {
jQuery('#form_wk_new_user').submit(function() {
if(jQuery('#form_wk_step_1').css('visibility') == 'visible') {
jQuery('#form_wk_new_user').validate(
{
rules: {
new_user_name: {
required: true
},
new_user_email: {
required: true,
email: true
}
},
messages: {
new_user_name: {
required: 'requerido'
},
new_user_email: {
required: 'requerido',
email: 'correo no válido'
}
}
}
);
if(jQuery('#form_wk_new_user').valid()) {
jQuery('#form_wk_step_2').css('visibility','visible');
}
}
if(jQuery('#form_wk_step_2').css('visibility') == 'visible') {
jQuery('#form_wk_step_1').css('visibility','hidden');
jQuery('#form_wk_continue_btn').attr('value','Registrar');
jQuery('#form_wk_new_user').validate(
{
rules: {
new_user_pass: {
required: true
},
new_user_confirm_pass: {
required: true,
equalTo: '#new_user_pass'
}
},
messages: {
new_user_pass: {
required: 'requerido'
},
new_user_confirm_pass: {
required: 'requerido',
equalTo: 'contraseñas no coinciden'
}
}
}
);
if(jQuery('#form_wk_new_user').valid()) {
form.submit();
}
}
return false;
});
});
这是我的表格:
<form id="form_wk_new_user" method="post" action="">
<div id="form_wk_step_1">
<label>Nombre</label>
<input type="text" id="new_user_name" name="new_user_name">
<label>e-mail</label>
<input type="text" id="new_user_email" name="new_user_email">
</div>
<div id="form_wk_step_2" style="visibility: hidden;">
<label>Contraseña</label>
<input type="password" id="new_user_pass" name="new_user_pass">
<label>Confirma contraseña</label>
<input type="password" id="new_user_confirm_pass" name="new_user_confirm_pass">
</div>
<div id="form_wk_continue"><input id="form_wk_continue_btn" type="submit" value="Continuar"></div>
</form>