在javascript中嵌套if-else
我对javascript中的嵌套if结构有问题。感谢您的帮助在javascript中嵌套if-else,javascript,nested,Javascript,Nested,我对javascript中的嵌套if结构有问题。感谢您的帮助 function validateForm() { var a = document.forms["demo1"]["addr1"].value; var b = document.forms["demo1"]["city"].value; //var c = document.forms["demo1"]["fname"].value; //var d = document.forms["demo1"
function validateForm()
{
var a = document.forms["demo1"]["addr1"].value;
var b = document.forms["demo1"]["city"].value;
//var c = document.forms["demo1"]["fname"].value;
//var d = document.forms["demo1"]["lname"].value;
//var f = document.forms["demo1"]["phno"].value;
//var g = document.forms["demo1"]["email"].value;
//var g1 = document.forms["demo1"]["cemail"].value;
//var h = document.forms["demo1"]["pwd"].value;
//var h1 = document.forms["demo1"]["cpwd"].value;
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
break;
}
else if(a=="" || a==null)
{
alert("Please enter your address");
return false;
break;
}
else {return true;}
}
<form name = "demo1" action = "exp2.php" onsubmit = "return validateForm()" method = "POST">
函数validateForm()
{
var a=document.forms[“demo1”][“addr1”].value;
var b=document.forms[“demo1”][“city”].value;
//var c=document.forms[“demo1”][“fname”].value;
//var d=document.forms[“demo1”][“lname”].value;
//var f=document.forms[“demo1”][“phno”]值;
//var g=document.forms[“demo1”][“email”].value;
//var g1=document.forms[“demo1”][“cemail”].value;
//var h=document.forms[“demo1”][“pwd”]值;
//var h1=document.forms[“demo1”][“cpwd”].value;
如果(b==“”| b==null)
{
警报(“请进入您的城市”);
返回false;
打破
}
else if(a==“”| a==null)
{
提醒(“请输入您的地址”);
返回false;
打破
}
else{return true;}
}
如果只有一条if语句,代码可以正常工作(如预期的那样)。但是,如果部署了多个if-else,我就不会得到预期的结果
问候,,
Mani首先,您不需要
break
语句,它们在这种情况下是无用的
其次,您不需要嵌套,事实上,您不应该嵌套,因为a
和b
的检查是相互独立的:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
if(a=="" || a==null)
{
alert("Please enter your address");
return false;
}
return true;
首先,您不需要
break
语句,它们在这个上下文中是无用的
其次,您不需要嵌套,事实上,您不应该嵌套,因为a
和b
的检查是相互独立的:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
if(a=="" || a==null)
{
alert("Please enter your address");
return false;
}
return true;
正如paxdiablo所说,您可以使用两个单独的if语句 但是,如果您只想在输入城市时需要一个地址,那么您必须意识到这不是一个嵌套的if语句。这是:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
else
{
if(a=="" || a==null)
{
alert("Please enter your address");
return false;
}
else
{
return true;
}
}
更容易理解的版本是,国际海事组织:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
if((b=="" || b == null) && (a=="" || a==null))
{
alert("Please enter your address");
return false;
}
正如paxdiablo所说,您可以使用两个单独的if语句 但是,如果您只想在输入城市时需要一个地址,那么您必须意识到这不是一个嵌套的if语句。这是:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
else
{
if(a=="" || a==null)
{
alert("Please enter your address");
return false;
}
else
{
return true;
}
}
更容易理解的版本是,国际海事组织:
if(b=="" || b==null)
{
alert("Please enter your city");
return false;
}
if((b=="" || b == null) && (a=="" || a==null))
{
alert("Please enter your address");
return false;
}
用可重用的
isEmpty
函数来缩短代码怎么样
function validateForm()
{
var isEmpty = function ( name , label ){
var val = document.forms["demo1"][ name ].value;
if( ! val )
{
alert("Please enter your "+ label );
return true;
}
return false;
}
return !isEmpty( 'city', 'city') &&
!isEmpty( 'addr1', 'address');
}
isEmpty return
true
或false
如何使用可重用的isEmpty
函数缩短代码
function validateForm()
{
var isEmpty = function ( name , label ){
var val = document.forms["demo1"][ name ].value;
if( ! val )
{
alert("Please enter your "+ label );
return true;
}
return false;
}
return !isEmpty( 'city', 'city') &&
!isEmpty( 'addr1', 'address');
}
if(b=="" || b==null) {
alert("Please enter your city");
return false;
}
else if(a=="" || a==null) {
alert("Please enter your address");
return false;
}
else {
return true;
}
isEmpty return
true
或false
为什么有中断
对我来说似乎很好为什么有中断
对我来说似乎很好
if(b=="" || b==null) {
alert("Please enter your city");
return false;
}
else if(a=="" || a==null) {
alert("Please enter your address");
return false;
}
else {
return true;
}