我在搜索表单中有4个字段,即从日期,到日期,材料和请购单编号。
我希望用户选择任何一个字段进行搜索。但是,如果用户选择日期字段,则应选择日期和日期字段,否则应向用户显示消息。
以下是我的代码:
if(fromdt=='' && todt=='' && matnr=='' && req_no==''){
scl_show_alert({'msg': 'Please Select atleaset one filter.', 'type': 'warning'});
return false;
}
else if((fromdt!='' && todt=='') || (fromdt=='' && todt!='')){
scl_show_alert({'msg': 'Please Select Both From Date and To Date.', 'type': 'warning'});
return false;
}
else{
//code for showing data
}
问题在于,即使所有值都为空,部分也会执行。
答案 0 :(得分:0)
尝试使用if(formdt&& todt&& matnr&& req_no)而不是与空字符串进行比较。这也有助于在它们为null或未定义时检查条件。你应该看看Javascript coerscion。当在if条件中使用时,Javascript将值强制为布尔等效值,因此falsey值将为空string,nulll,undefined和0因此当您使用例如if(fromdt)并且如果fromdt是任何伪值时它将不会进入如果是这样的话。