Javascript JTable和验证引擎的问题
我在一个使用PHP+JQuery的网站上工作。对于CRUD操作,我使用JTable和validationEngine进行表单验证。我正在为密码更改创建一个新的JQuery对话框,但是当我关闭并再次打开密码对话框时,validationEngine会返回“True”。这是我的完整javascript代码:Javascript JTable和验证引擎的问题,javascript,jquery,jquery-ui,validation,jquery-validation-engine,Javascript,Jquery,Jquery Ui,Validation,Jquery Validation Engine,我在一个使用PHP+JQuery的网站上工作。对于CRUD操作,我使用JTable和validationEngine进行表单验证。我正在为密码更改创建一个新的JQuery对话框,但是当我关闭并再次打开密码对话框时,validationEngine会返回“True”。这是我的完整javascript代码: <script type="text/javascript"> $(document).ready(function() { $("#catalogoAlum
<script type="text/javascript">
$(document).ready(function() {
$("#catalogoAlumnos").jtable({
title : 'Alumnos',
sorting : true,
actions : {
listAction : '../php/alumnosActions/selectAlumnos.php',
createAction : '../php/alumnosActions/agregarAlumno.php',
updateAction : '../php/alumnosActions/updateAlumno.php',
deleteAction : '../php/alumnosActions/deleteAlumno.php'
},
fields : {
ficha : {
title : '',
width : '1%',
sorting : false,
edit : false,
create : false,
display : function(Data) {
var $img = $('<button class="jtable-command-button jtable-view-command-button" src="../style/jtable/metro/list.png" title="Ver Más..." />');
$img.click(function() {
var $div = $("<div id='dialog' title='Información'>" + "<strong><label class='jtable-input-label'>Nombre Completo: </label></strong>" + Data.record.apellidosalumno + " " + Data.record.nombresalumno + "<br>" + "<strong><label class='jtable-input-label'>Sexo: </label></strong>" + Data.record.sexoalumno + "<br>" + "<strong><label class='jtable-input-label'>Dirección Completa: </label></strong>" + Data.record.direccionalumno + ", " + Data.record.ciudadalumno + ", " + Data.record.estadoalumno + ", " + Data.record.paisalumno + "<br>" + "<strong><label class='jtable-input-label'>Periodo de Registro: </label></strong>" + Data.record.periodoregistroalumno + " Del " + Data.record.anoregistroalumno + "<br>" + "<strong><label class='jtable-input-label'>Periodo Actual: </label></strong>" + Data.record.periodoactualalumno + " Del " + Data.record.anoactualalumno + "<br>" + "<strong><label class='jtable-input-label'>Semestre: </label></strong>" + Data.record.semestrealumno + "</div>");
$div.dialog({
modal : true
});
});
return $img;
}
},
num_control : {
key : true,
title : 'No. Control',
create : true,
edit : false,
inputClass : 'validate[required]'
},
password : {
list : false,
title : 'Contraseña',
type : 'password',
create : true,
edit : false,
inputClass : 'validate[required]'
},
apellidosalumno : {
title : 'Apellidos',
inputClass : 'validate[required]'
},
nombresalumno : {
title : 'Nombre',
inputClass : 'validate[required]'
},
sexoalumno : {
list : false,
title : 'Sexo',
create : true,
edit : true,
options : {
'M' : 'Masculino',
'F' : 'Femenino'
}
},
direccionalumno : {
title : 'Dirección',
list : false,
create : true,
edit : true,
inputClass : 'validate[required]'
},
ciudadalumno : {
title : 'Ciudad',
list : false,
create : true,
edit : true,
inputClass : 'validate[required]'
},
estadoalumno : {
title : 'Estado',
list : false,
create : true,
edit : true,
inputClass : 'validate[required]'
},
paisalumno : {
title : 'Pais',
list : false,
create : true,
edit : true,
inputClass : 'validate[required]'
},
carreraalumno : {
title : 'Carrera',
options : '../php/carrerasActions/selectCarrerasDropDown.php'
},
periodoregistroalumno : {
title : 'Periodo de Registro',
options : {
'1' : 'Ene-Abril',
'2' : 'Mayo-Agosto',
'3' : 'Sep-Dic'
},
list : false,
create : true,
edit : true
},
anoregistroalumno : {
title : 'Año de Registro',
list : false,
create : true,
edit : true,
inputClass : 'validate[required,custom[integer],min[1980]]'
},
periodoactualalumno : {
title : 'Periodo Actual',
options : {
'1' : 'Ene-Abril',
'2' : 'Mayo-Agosto',
'3' : 'Sep-Dic'
},
list : false,
create : true,
edit : true
},
anoactualalumno : {
title : 'Año del Periodo Actual',
list : false,
create : true,
edit : true,
inputClass : 'validate[required,custom[integer],min[1980]]'
},
semestrealumno : {
title : 'Semestre',
inputClass : 'validate[required,custom[integer]]'
},
emailalumno : {
title : 'E-mail',
list : false,
create : true,
edit : true,
inputClass : 'validate[required,custom[email]]'
},
cambiar_password : {
title : '',
width : '1%',
sorting : false,
edit : false,
create : false,
display : function(Data) {
var $img = $('<button class="jtable-command-button jtable-password-command-button" title="Cambiar Contraseña" />');
$img.click(function() {
var $div = $("<div id='dialog2' title='Cambiar Contraseña'>" + "<form id='cambia_pass' class='jtable-dialog-form' style='-moz-column-count:auto;-webkit-column-count:auto;column-count:auto;-moz-column-gap:auto;-webkit-column-gap:auto;column-gap:auto;'>" + "<div class='jtable-input-field-container'>" + "<div class='jtable-input-label'>Antigua Contraseña</div>" + "<div class='jtable-input jtable-password-input'><input type='password' class='validate[required]' name='antiguo_pass' id='antiguo_pass'/></div>" + "</div>" + "<div class='jtable-input-field-container'>" + "<div class='jtable-input-label'>Escriba Contraseña</div>" + "<div class='jtable-input jtable-password-input'><input type='password' class='validate[required]' name='nuevo_pass1' id='nuevo_pass1'/></div>" + "</div>" + "<div class='jtable-input-field-container'>" + "<div class='jtable-input-label'>Repita Contraseña</div>" + "<div class='jtable-input jtable-password-input'><input type='password' class='validate[required],equals[nuevo_pass1]' name='nuevo_pass2 id='nuevo_pass2'/></div>" + "</div>" + "</form>" + "</div>");
$div.dialog({
modal : true,
close : function(event, ui) {
$("#cambia_pass").validationEngine('hide');
$("#cambia_pass").validationEngine('detach');
},
buttons : {
"Actualizar" : function() {
if ($("#cambia_pass").validationEngine('validate')) {
}
},
"Cancelar" : function() {
$("#cambia_pass").validationEngine('hide');
$("#cambia_pass").validationEngine('detach');
$(this).dialog("close");
}
}
});
});
return $img;
}
}
},
formSubmitting : function(event, data) {
return data.form.validationEngine('validate');
},
formClosed : function(event, data) {
data.form.validationEngine('hide');
data.form.validationEngine('detach');
}
});
$("#catalogoAlumnos").jtable('load');
$('#cmdBuscar').click(function(e) {
e.preventDefault();
$('#catalogoAlumnos').jtable('load', {
no_control : $('#search_nocontrol').val(),
apellidos : $('#search_apellidos').val(),
nombres : $('#search_nombres').val(),
carrera : $('#search_carrera').val(),
semestre : $('#search_semestre').val(),
});
});
});
</script>
$(文档).ready(函数(){
$(“#catalogalumnos”).jtable({
标题:“校友”,
排序:对,
行动:{
listAction:“../php/alumnoActions/selectAlumnos.php”,
createAction:“../php/alumnosActions/agregarAlumno.php”,
updateAction:“../php/alumnosActions/updateAlumno.php”,
deleteAction:“../php/alumnoActions/deleteAlumno.php”
},
字段:{
菲查:{
标题:“”,
宽度:“1%”,
排序:假,
编辑:false,
创建:false,
显示:功能(数据){
var$img=$('');
$img.单击(函数(){
var$div=$(“+”Nombre Completo:“+Data.record.apellidosalumno+”+Data.record.nombresalumno+”
“+”Sexo:“+Data.record.sexoalumno+”
“Dirección Completa:“+Data.record.direcciudadalumno+”,“+Data.record.estalumno+”,“+Data.record.estalumno+”+Data.record.paisalumno+“
”+“注册周期:”+Data.record.periodoregistroalumno+“Del”+Data.record.anregistroalumno+“
”+“实际周期:”+Data.record.periodoactualalumno+“Del”+Data.record.anocactualalumno+“
”Semestre:“+Data.record.semeallumno”"");
$div.dialog({
莫代尔:对
});
});
返回$img;
}
},
num_控件:{
关键:没错,
标题:“编号控制”,
创造:真的,
编辑:false,
inputClass:“验证[必需]”
},
密码:{
列表:false,
标题:'Contraseña',
键入:“密码”,
创造:真的,
编辑:false,
inputClass:“验证[必需]”
},
阿佩利多斯校友:{
标题:“阿佩利多斯”,
inputClass:“验证[必需]”
},
名义上:{
标题:“Nombre”,
inputClass:“验证[必需]”
},
第六单元:{
列表:false,
标题:'Sexo',
创造:真的,
编辑:对,
选项:{
“M”:“男性化”,
“F”:“Femenino”
}
},
目录:{
标题:“Dirección”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需]”
},
城市:{
标题:“城市”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需]”
},
estadoalumno:{
标题:“Estado”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需]”
},
paisalumno:{
标题:“Pais”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需]”
},
卡雷拉校友:{
标题:“Carrera”,
选项:“../php/carrerasActions/selectCarrerasDropDown.php”
},
定期注册校友:{
标题:“登记周期”,
选项:{
“1”:“Ene Abril”,
“2”:“Mayo Agosto”,
'3':'Sep Dic'
},
列表:false,
创造:真的,
编辑:真
},
校友:{
标题:“Año de Registro”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需,自定义[整数],最小值[1980]]”
},
periodoactualalumno:{
标题:“实际周期”,
选项:{
“1”:“Ene Abril”,
“2”:“Mayo Agosto”,
'3':'Sep Dic'
},
列表:false,
创造:真的,
编辑:真
},
阿诺拉鲁姆诺:{
标题:“Año del Periodo Actual”,
列表:false,
创造:真的,
编辑:对,
inputClass:“验证[必需,自定义[整数],最小值[1980]]”
},
semestrealumno:{
标题:“Semestre”,
inputClass:“验证[必需,自定义[整数]]”
},
电邮校友:{
close : function(event, ui) {
$("#cambia_pass").validationEngine('hide');
$("#cambia_pass").validationEngine('detach');
}
became this:
close : function(event, ui) {
$(this).remove();
}