if(coolMode == null || coolMode == ''){ $("#coolModes").addClass("Validform_wrong"); $("#coolModes").html("请选择冷却方式!"); flag = 1; }else{ $("#coolModes").removeClass("Validform_wrong").addClass("Validform_checktip"); $("#coolModes").html(""); if(flag1 == 1){ flag = 1; }else if(flag1 == 2){ flag = 2; } }
什麼叫不執行?
$("#coolModes").removeClass("Validform_wrong").addClass("Validform_checktip");
$("#coolModes").html("");
上面兩行執行了if卻沒有執行?
if(flag1 == 1){
flag = 1;
}else if(flag1 == 2){
flag = 2;
}
}
这个不执行
@xyunshu:
flag1默認是0,你的if跟else if都不成立,所以你感覺沒有執行?
@RosonJ: 对呀
@xyunshu:
..flag1是0,你想要你的if執行出什麼結果?!
@RosonJ: 下面有整个页面,你可以看下
@RosonJ: 我也是这么认为的
@R_Oasis: 认为啥
@RosonJ: 哈哈哈哈~
@RosonJ: 你觉得欺负我上瘾?
@xyunshu: 建议不要用flag1 换个名字,容易混淆
@眉间剪水泛千愁:
..哪欺負你了
@xyunshu: 欢迎新人入园,闪存页,大把程序猿正在耐心等你提问任何问题。嗯,任何!
你flag1定义了吗,定义时默认值是多少?
默认值是0
@xyunshu: 那难怪不执行了啊,默认0,第二个if没有一个条件满足呀,肯定不进去执行了。
@xyunshu:
@过了这个村:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> <!DOCTYPE html> <html> <head> <title>驱动电机管理</title> <t:base type="jquery,easyui,tools,DatePicker"></t:base> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> </head> <body style="overflow-x: hidden"> <t:formvalid beforeSubmit="checksubmit()" formid="formobj" dialog="true" usePlugin="password" layout="table" action="carDriveMotorController.do?save"> <input id="id" name="id" type="hidden" value="${carDriveMotor.id}"/> <input id="createTime" name="createTime" type="hidden" value="${carDriveMotor.createTime}" pattern="yyyy-MM-dd hh:mm:ss"/> <input id="updateTime" name="updateTime" type="hidden" value="${carDriveMotor.updateTime}" pattern="yyyy-MM-dd hh:mm:ss"/> <table style="width: 700px;" cellpadding="0" cellspacing="1" class="formtable" > <tr> <td align="right"><label class="Validform_label">生产厂家: </label></td> <td class="value"><input class="inputxt" id="driveManu" name="driveManu" value="${carDriveMotor.driveManu}" datatype="*"> <span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">型号: </label></td> <td class="value"><input class="inputxt" id="driveModel" name="driveModel" value="${carDriveMotor.driveModel}" datatype="*" onkeyup="ischeck(this)" > <span class="Validform_checktip" id="driveModels"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定功率: </label></td> <td class="value"><input class="inputxt" id="drivePower" name="drivePower" value="${carDriveMotor.drivePower}" datatype="*">KW<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">峰值功率: </label></td> <td class="value"><input class="inputxt" id="drivePeak" name="drivePeak" value="${carDriveMotor.drivePeak}" datatype="*">KW<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定扭矩:</label></td> <td class="value"><input class="inputxt" id="driveTorque" name="driveTorque" value="${carDriveMotor.driveTorque}" datatype="*">N.M<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">峰值扭矩:</label></td> <td class="value"><input class="inputxt" id="drivePtorque" name="drivePtorque" value="${carDriveMotor.drivePtorque}" datatype="*">N.M<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定转速: </label></td> <td class="value"><input class="inputxt" id="driveSpeed" name="driveSpeed" value="${carDriveMotor.driveSpeed}" datatype="n">r/min<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">最高转速: </label></td> <td class="value"><input class="inputxt" id="driveHspeed" name="driveHspeed" value="${carDriveMotor.driveHspeed}" datatype="n">r/min<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定电压: </label></td> <td class="value"><input class="inputxt" id="driveVoltage" name="driveVoltage" value="${carDriveMotor.driveVoltage}" datatype="*">V<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">防护等级: </label></td> <td class="value"><input class="inputxt" id="driveProlevel" name="driveProlevel" value="${carDriveMotor.driveProlevel}" datatype="*"><span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">绝缘等级: </label></td> <td class="value"><input class="inputxt" id="driveInslevel" name="driveInslevel" value="${carDriveMotor.driveInslevel}" datatype="*"><span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">冷却方式: </label></td> <td class="value"><t:dictSelect field="coolMode" id="coolMode" typeGroupCode="coolMode" hasLabel="false" defaultVal="${carDriveMotor.coolMode}"></t:dictSelect><span class="Validform_checktip" id="coolModes"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">重量: </label></td> <td class="value"><input class="inputxt" id="driveWeight" name="driveWeight" value="${carDriveMotor.driveWeight}" datatype="/^([+-]?)\d*\.?\d+$/">kg<span class="Validform_checktip"></span></td> </tr> </table> </t:formvalid> </body> <script type="text/javascript"> var flag = 0; var flag1 = 0; function ischeck(obj){ var manu=$("#driveManu").val(); var model = $(obj).val(); var id = $("#id").val(); $.ajax({ type:"post", url:"carDriveMotorController.do?check&driveModel="+model+"&id="+id+"&driveManu="+manu, success:function(r){ if(r>0){ if(model!=null||model!=''){ $("#driveModels").removeClass("Validform_checktip"); } $("#driveModels").removeClass("Validform_checktip").addClass("Validform_wrong"); $("#driveModels").html("型号已存在!"); flag = 1; }else{ $("#driveModels").removeClass("Validform_wrong").addClass("Validform_checktip"); if(model==null||model==''){ $("#driveModels").addClass("Validform_wrong"); $("#driveModels").html("请填写型号!"); }else{ flag = 2; } } } }); } /* $(function(){ $("#driveModel").blur(function(){ ischeck(this.val()); }); }); */ function checksubmit(){ var model = $("#driveModel").val(); var manu=$("#driveManu").val(); var coolMode=$("#coolMode").val(); var id = $("#id").val(); $.ajax({ type:"post", asnync:false, url:"carDriveMotorControllerr.do?check&driveModel="+model+"&id="+id+"&driveManu="+manu, success:function(r){ if(r>0){ $("#driveModels").addClass("Validform_wrong"); $("#driveModels").html("型号已存在!"); flag = 1; flag1 = 1; }else{ $("#driveModels").removeClass("Validform_checktip").addClass("Validform_checktip"); $("#driveModels").html("通过信息验证!"); flag = 2; flag1 = 2; } } }); if(coolMode == null || coolMode == ''){ $("#coolModes").addClass("Validform_wrong"); $("#coolModes").html("请选择冷却方式!"); flag = 1; }else{ $("#coolModes").removeClass("Validform_wrong").addClass("Validform_checktip"); $("#coolModes").html(""); if(flag1 == 1){ flag = 1; }else if(flag1 == 2){ flag = 2; } } if(flag == 2){ return true; }else{ return false; } } </script>
这是整个页面
@xyunshu: 不用贴全部代码的,这个问题的原因其实很清楚了啊,你在上面定义flag1时给予的默认值是0,不管它在前面的逻辑经过怎样的处理或赋值,当运行到下图位置时:
懂我的意思了吗?
@过了这个村: 我知道你的意思,但是别人定义为0就可以执行
@xyunshu: 那只有一个可能了,我们这么来分析,你flag1最后只判断了值为1和2两种情况,也就是说逻辑正常走完时,预期的值应该只有这两种,但是现在flag1结果却为0,只能说前面的逻辑有问题,你需要检查下前面的代码来排查出原因所在。
@过了这个村: 如果我改成flag==0,前面的判断就有问题
@xyunshu: 因为你这些代码我本地无法完整运行,所以无法帮你排查,建议你多多使用调试来找原因
@过了这个村: 好的吧,谢谢
233
学习学习你们的答题技巧
代码不能格式化一下么?
另外:不执行是什么意思?你的flag1的值是什么?
flag值是0
@xyunshu: 既然是0,怎么会执行你的判断???
@顾晓北: 改别的值上面的验证就有问题
@xyunshu: 问题没描述清楚。。。只贴出有关代码就行,另外,回复可“插入代码,选择JavaScript,然后说明不执行是一个什么样的情形。。。
@顾晓北:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@include file="/context/mytags.jsp"%> <!DOCTYPE html> <html> <head> <title>驱动电机管理</title> <t:base type="jquery,easyui,tools,DatePicker"></t:base> <script type="text/javascript" src="js/jquery-1.8.3.js"></script> </head> <body style="overflow-x: hidden"> <t:formvalid beforeSubmit="checksubmit()" formid="formobj" dialog="true" usePlugin="password" layout="table" action="carDriveMotorController.do?save"> <input id="id" name="id" type="hidden" value="${carDriveMotor.id}"/> <input id="createTime" name="createTime" type="hidden" value="${carDriveMotor.createTime}" pattern="yyyy-MM-dd hh:mm:ss"/> <input id="updateTime" name="updateTime" type="hidden" value="${carDriveMotor.updateTime}" pattern="yyyy-MM-dd hh:mm:ss"/> <table style="width: 700px;" cellpadding="0" cellspacing="1" class="formtable" > <tr> <td align="right"><label class="Validform_label">生产厂家: </label></td> <td class="value"><input class="inputxt" id="driveManu" name="driveManu" value="${carDriveMotor.driveManu}" datatype="*"> <span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">型号: </label></td> <td class="value"><input class="inputxt" id="driveModel" name="driveModel" value="${carDriveMotor.driveModel}" datatype="*" onkeyup="ischeck(this)" > <span class="Validform_checktip" id="driveModels"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定功率: </label></td> <td class="value"><input class="inputxt" id="drivePower" name="drivePower" value="${carDriveMotor.drivePower}" datatype="*">KW<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">峰值功率: </label></td> <td class="value"><input class="inputxt" id="drivePeak" name="drivePeak" value="${carDriveMotor.drivePeak}" datatype="*">KW<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定扭矩:</label></td> <td class="value"><input class="inputxt" id="driveTorque" name="driveTorque" value="${carDriveMotor.driveTorque}" datatype="*">N.M<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">峰值扭矩:</label></td> <td class="value"><input class="inputxt" id="drivePtorque" name="drivePtorque" value="${carDriveMotor.drivePtorque}" datatype="*">N.M<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定转速: </label></td> <td class="value"><input class="inputxt" id="driveSpeed" name="driveSpeed" value="${carDriveMotor.driveSpeed}" datatype="n">r/min<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">最高转速: </label></td> <td class="value"><input class="inputxt" id="driveHspeed" name="driveHspeed" value="${carDriveMotor.driveHspeed}" datatype="n">r/min<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">额定电压: </label></td> <td class="value"><input class="inputxt" id="driveVoltage" name="driveVoltage" value="${carDriveMotor.driveVoltage}" datatype="*">V<span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">防护等级: </label></td> <td class="value"><input class="inputxt" id="driveProlevel" name="driveProlevel" value="${carDriveMotor.driveProlevel}" datatype="*"><span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">绝缘等级: </label></td> <td class="value"><input class="inputxt" id="driveInslevel" name="driveInslevel" value="${carDriveMotor.driveInslevel}" datatype="*"><span class="Validform_checktip"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">冷却方式: </label></td> <td class="value"><t:dictSelect field="coolMode" id="coolMode" typeGroupCode="coolMode" hasLabel="false" defaultVal="${carDriveMotor.coolMode}"></t:dictSelect><span class="Validform_checktip" id="coolModes"></span></td> </tr> <tr> <td align="right"><label class="Validform_label">重量: </label></td> <td class="value"><input class="inputxt" id="driveWeight" name="driveWeight" value="${carDriveMotor.driveWeight}" datatype="/^([+-]?)\d*\.?\d+$/">kg<span class="Validform_checktip"></span></td> </tr> </table> </t:formvalid> </body> <script type="text/javascript"> var flag = 0; var flag1 = 0; function ischeck(obj){ var manu=$("#driveManu").val(); var model = $(obj).val(); var id = $("#id").val(); $.ajax({ type:"post", url:"carDriveMotorController.do?check&driveModel="+model+"&id="+id+"&driveManu="+manu, success:function(r){ if(r>0){ if(model!=null||model!=''){ $("#driveModels").removeClass("Validform_checktip"); } $("#driveModels").removeClass("Validform_checktip").addClass("Validform_wrong"); $("#driveModels").html("型号已存在!"); flag = 1; }else{ $("#driveModels").removeClass("Validform_wrong").addClass("Validform_checktip"); if(model==null||model==''){ $("#driveModels").addClass("Validform_wrong"); $("#driveModels").html("请填写型号!"); }else{ flag = 2; } } } }); } /* $(function(){ $("#driveModel").blur(function(){ ischeck(this.val()); }); }); */ function checksubmit(){ var model = $("#driveModel").val(); var manu=$("#driveManu").val(); var coolMode=$("#coolMode").val(); var id = $("#id").val(); $.ajax({ type:"post", asnync:false, url:"carDriveMotorControllerr.do?check&driveModel="+model+"&id="+id+"&driveManu="+manu, success:function(r){ if(r>0){ $("#driveModels").addClass("Validform_wrong"); $("#driveModels").html("型号已存在!"); flag = 1; flag1 = 1; }else{ $("#driveModels").removeClass("Validform_checktip").addClass("Validform_checktip"); $("#driveModels").html("通过信息验证!"); flag = 2; flag1 = 2; } } }); if(coolMode == null || coolMode == ''){ $("#coolModes").addClass("Validform_wrong"); $("#coolModes").html("请选择冷却方式!"); flag = 1; }else{ $("#coolModes").removeClass("Validform_wrong").addClass("Validform_checktip"); $("#coolModes").html(""); debugger if(flag1 == 1){ flag = 1; }else if(flag1 == 2){ flag = 2; } } if(flag == 2||flag==0){ return true; }else{ return false; } } </script>
验证过后点正确的就不能提交了
@xyunshu: 你是奇怪为什么那段代码根本没执行吧?因为你的判断方式有问题。。。
永远不要忘了,js的模式是回调的执行模式,是异步的。。。
你的checksubmit方法里面,Ajax部分开始只是注册一个方法,就继续往下执行了,根本没执行success部分,而是注册以后,继续执行下面if (coolMode == null || coolMode == '')这部分代码了,执行这部分代码的时候,你的flag跟flag1还都是默认值状态,所以你在debugger下的时候,还是默认值,下面的if==1或者==2当然不会执行。。。
简单的方法就是你Ajax部分改为同步执行,让代码执行完Ajax以后再接着执行下面的代码(当然这并不推荐)
其他方法的话,你再找吧。。。
@顾晓北: 在点击按钮的时候不触发到上面验证
@xyunshu: 你能看明白我上面跟你说的么?
@顾晓北: 差不多
@xyunshu: 然后呢?是我说的问题么?
@顾晓北: 不是,下面好了上面又有问题了
if else 和 if else if 理解下区别就差不多了
哇,萌妹纸~
你要学会设置断点来调试,这样才好理解
怎么用断点调试
@xyunshu: http://jingyan.baidu.com/article/4b52d7028b99d2fc5c774b83.html
搜索关键字 谷歌浏览器 调试js
@刘宏玺: 好的,谢谢
语法没有问题,设置断点调试一下,看一下flag1的值获取到什么
<script type="text/javascript">
var flag = 0;
function ischeck(obj){
var model = $("#driveModel").val();
var driveManu=$("#driveManu").val();
if(model==null ||""==model|| driveManu == null||""==driveManu){
return;
}
var id = $("#id").val();
$.ajax({
type:"post",
url:"carDriveMotorController.do?check&driveModel="+model+"&id="+id+"&driveManu="+driveManu,
success:function(r){
if(r>0){
$("#driveModels").removeClass("Validform_checktip");
$("#driveModels").html("");
$("#driveModels").addClass("Validform_wrong");
$("#driveModels").html("型号已存在!");
flag = 1;
return false;
}else{
$("#driveModels").removeClass("Validform_wrong").addClass("Validform_checktip").addClass("Validform_right");
$("#driveModels").html("通过信息验证");
if(driveModels==null || driveModels==''){
$("#driveModels").addClass("Validform_wrong");
$("#driveModels").html("请填写型号!");
flag=1;
}
flag = 2;
return true;
}
}
});
}
$(function(){
$("#driveModel").blur(function(){
ischeck(this.val());
});
});
function checksubmit(){
var model = $("#driveModel").val();
var coolMode=$("#coolMode").val();
var id = $("#id").val();
var driveManu=$("#driveManu").val();
if(model==null || driveManu == null){
return;
}
$.ajax({
type:"post",
asnync:false,
url:"carDriveMotorController.do?check&driveModel="+model+"&id="+id+"&driveManu="+driveManu,
success:function(r){
if(r>0){
$("#driveModels").addClass("Validform_wrong");
$("#driveModels").html("型号已存在!");
flag = 1;
}else {
$("#driveModels").removeClass("Validform_wrong").addClass("Validform_checktip").addClass("Validform_right");
$("#driveModels").html("通过信息验证!");
flag = 2;
}
}
});
if(coolMode==null||coolMode==''){
$("#coolModes").addClass("Validform_wrong");
$("#coolModes").html("请选择冷却方式");
flag = 1;
}else{
$("#coolModes").removeClass("Validform_wrong").addClass("Validform_checktip Validform_right");
$("#coolModes").html("通过信息验证!");
if(flag == 2){
flag = 2;
}
}
if(flag==2||flag==0){
return true;
}else{
return false;
}
}
</script>