我正在显示alerts if 3 textboxes or any single text box is empty
。例如:
如果all are empty then alert will be" please fill up all"
else if 1st and 2nd text boxes are empty then alert will be "please fill up 1st and 2nd text box"
同样if 1st and 3rd text boxes are empty then alert will be "please fill up 1st and 3rd text box"
同样if 2nd and 3rd text boxes are empty then alert will be "please fill up 2nd and 3rd text box"
同样if only 1st text box is empty then alert will be "please fill up 1st text box"
同样if only 2nd text box is empty then alert will be "please fill up 2nd text box"
同样if only 3rd text box is empty then alert will be "please fill up 3rd text box"
但问题是我必须写这么多if-else statements
在 JavaScript 中如果 number of text boxes are 10 or more
。他们有什么解决方案可以最大限度地减少 code
和accordingly alert will come if any of the above condition satisfies
?
我写了if-else code
单独但它很长,如下所示:
<form name="frm" action="confirmsubmit.jsp">
<script type="text/javascript">
<!--
function confirmation() {
var textboxname1=document.frm.textboxname1;
var textboxname2=document.frm.textboxname2;
var textboxname3=document.frm.textboxname3;
//alert if all text boxes are empty
if((textboxname1.value==null)||(textboxname1.value=="")&& (textboxname2.value=="")||(textboxname2.value==null)){
alert("Please fill up first text box<br/>Please fill up second text box<br/>Please fill up 3rd text box");//alert for all
textboxname1.focus();
return false
}
//alert if 2nd text box is empty
else if((textboxname2.value=="")||(textboxname2.value==null))
{
alert("Please Please fill up second text box");//alert for 2nd text box
textboxname2.focus();
return false
}
//alert if 3rd text box is empty
else if((textboxname3.value=="")||(textboxname3.value==null))
{
alert("Please Please fill up third text box");//alert for 3rd text box
textboxname3.focus();
return false
}
// similarly i have to show alert if 2nd and 3rd boxes are empty and so on, but is there any solution to minimize the code?
return true
}
//-->
</script>
<input type="text" name="textboxname1"/>
<input type="text" name="textboxname2"/>
<input type="text" name="textboxname3"/>
<input type="submit" onclick="return confirmation()"/>
</form>
最佳答案
伪代码:
emptyTextboxen = []
for each textboxen as textbox
if textbox is empty
emptyTextboxen.push(textbox)
if emptyTextboxen.length == textboxen.length
message = 'Please fill up all textboxen'
else if emptyTextboxen.length > 0
message = 'Please fill up textboxen '
for each emptyTextboxen as emptyTextbox
message += emptyTextbox + ', '
else
message = 'Life is good'
关于javascript - 如何在显示警报时尽量减少 if-else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9512944/