Javascript 验证在多步骤形式中失败,但仍将进入下一步

Javascript 验证在多步骤形式中失败,但仍将进入下一步,javascript,jquery,html,smart-wizard,Javascript,Jquery,Html,Smart Wizard,我有7个表单步骤,正在使用智能向导。单击“下一步”按钮,我将在每个步骤保存数据并进行验证,但它将移动到步骤2,同时在步骤1中给出错误。屏幕不会在步骤1停止以完成所有操作并转到下一步。有人能帮我吗 我尝试了e.preventDefault()以及返回false但它没有停止 函数saveLaunchDetails(){ var launchName=$(“#launch_name”).val().trim(); var launchMonth=$(“#startdate”).val().trim()

我有7个表单步骤,正在使用
智能向导
。单击“下一步”按钮,我将在每个步骤保存数据并进行验证,但它将移动到步骤2,同时在步骤1中给出错误。屏幕不会在步骤1停止以完成所有操作并转到下一步。有人能帮我吗

我尝试了
e.preventDefault()
以及
返回false但它没有停止

函数saveLaunchDetails(){
var launchName=$(“#launch_name”).val().trim();
var launchMonth=$(“#startdate”).val().trim();
var launchNature=$(“#launch_nature”).val();
var launchCat=$(“#启动_类别”).val().trim();
var launchBus=$(“#启动业务”).val().trim();
var launchClass=$(“#launch_classification”).val();
var cutspec=$('.multiselect').text();
var formspe=$('#format_input').val();
var townspe=$('#town_input').val();
var othrspe=$(“#启动输入”).val();
var geo=$('#editGeography').val();
var launchNature2=“”;
if($('#launch_nature').val()=='Customer Specific'){
launchNature2=cutspec;
}else if($('launch#u nature').val()=='Format specific'){
launchNature2=formspe;
}else if($('launch#u nature').val()='Regional'){
launchNature2=geo;
}else if($('launch#u nature').val()=='Town Specific'){
launchNature2=townspe;
}else if($('launch#u nature').val()=='Others'){
launchNature2=othrspe;
}
if(launchName==“”| | launchName==null){
埃兹伯斯勒特({
messageText:“请输入启动名称”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}else if(launchMonth==“”| | launchMonth==null){
埃兹伯斯勒特({
messageText:“请选择启动月份”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}else if(launchNature==“”){
埃兹伯斯勒特({
messageText:“请选择启动性质”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}else if(launchBus==“”| | launchBus==null){
埃兹伯斯勒特({
messageText:“预计投放业务案例不能为空”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}else if(launchCat==“”| | launchCat==null){
埃兹伯斯勒特({
messageText:“启动类别不能为空”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}else if(launchClass==“”| | launchClass==null){
埃兹伯斯勒特({
messageText:“启动分类不能为空”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}否则{
如果(启动性质=“1”){
launchNature2=[“”];
}else if(launchNature==“6”){
var launchInput=$(“#启动输入”).val().trim();
if(launchInput==“”| | launchBus==null){
埃兹伯斯勒特({
messageText:“启动输入不能为空”,
警报类型:“信息”
}).完成(功能(e){
//log('hello');
});
返回false;
}
}
$.ajax({
url:'saveLaunchDetails.htm',
数据类型:“json”,
键入:“post”,
async:false,
contentType:'应用程序/json',
数据:JSON.stringify({
“launchName”:launchName,
“launchMonth”:launchMonth,
“launchNature”:launchNature,
“launchNature2”:launchNature2,
“launchBusinessCase”:launchBus,
“分类化”:launchCat,
“分类”:launchClass
}),
processData:false,
成功:函数(数据、文本状态、jQxhr){
$('#response pre').html(JSON.stringify(data));
},
错误:函数(jqXhr、textStatus、errorshown){
console.log(错误抛出);
}
});
返回false;
}
}


您可以使用智能向导中的
leaveStep
事件取消步骤。我也尝试过,但无法直接找到步骤2的位置。如果您可以提供fiddle,我可以提供帮助。我找到了解决方案,谢谢。
<input type="button" value="Next" class="btn btn-secondary sw-btn-next nxtclassification" onclick="saveLaunchDetails();" id="lnchdetail" style="float: right;" />