[英]Reduce multiple if else statements
My Name:<input class="clr" id="name" type="text" /><span class="clr" id="name_error">Name is required</span> <br /><br />
My Email Adress:<input class="clr" id="email" type="text" /><span class="clr" id="email_error">Email is required</span> <br /><br />
My Organisation Name:<input class="clr" id="organisation" type="text" /><span class="clr" id="org_error">Organisation is required</span> <br /><br />
我有3個輸入字段。 我在提交空字段時使用span
來顯示錯誤消息。
我的問題是,如果name
字段為空,我們應該得到"Name is required"
錯誤,如果email
字段為空,我們應該收到"email is required"
錯誤等等。
為此,我寫下代碼。
if (name == "")
$("#name_error").show();
else
$("#name_error").hide();
if (email == "")
$("#email_error").show();
else
$("#email_error").hide();
if (organisation == "")
$("#org_error").show();
else
$("#org_error").hide();
有沒有辦法減少if / else語句?
$('input.clr').each(function(){
if ($(this).val() == "")
$(this).next('span.clr').show();
});
在此之前,我們需要以這種方式隱藏它們:
$('span.clr').hide();
你可以這樣做:
var obj = window; // or something else, depending on your scope
['name', 'email', 'organisation'].forEach(function(v) {
var $e = $('#'+v+'_error');
if (obj[v]=="") $e.show();
else $e.hide();
});
注意
name
)將允許更簡單的代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.