2017-06-06 37 views
0

我需要一個幫助。我無法正確驗證使用JavaScript語句中存在的條件。我在下面解釋我的代碼。無法使用Javascript驗證所有類型的條件

<?php if($_REQUEST['ids']!=""){ ?> 
var isEdit=true; 
var edithidnCouponimage=document.getElementById('hidnCouponimage').value; 
var edithidnLogoimage=document.getElementById('hidnLogoimage').value; 
<?php }else{ ?> 
var isEdit=false; 
var edithidnCouponimage=''; 
var edithidnLogoimage=''; 
<?php } ?> 
if(isEdit==false){ 
    if(!backFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
    alert('Please select jpg/jpeg/png type image for coupon image'); 
    return; 
     }else if(!logoFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
      alert('Please select jpg/jpeg/png type image for coupon logo'); 
      return; 
     }else{ 
      return true; 
     } 
}else{ 
    $('#btncouponsubmit').removeAttr("disabled") 
    $('#blankImagediv').css('display', 'block'); 
    $('#nonblankimagediv').css('display', 'none'); 
} 

這裏我的問題是,當第一if statement是真實的,它裏面的檢查都if statement如果這些都不是真的,那應該從父if statement回來,應該進入else part的檢查display block/none但它不會發生這樣的一旦進入第一個if語句,它不會進入else part。請幫助我。

+1

爲什麼不直接替換回報真的與從else語句的塊?如果你不想複製代碼,你可以簡單地將這3行代碼移入一個函數 –

+0

@JurijJazdanov:沒有得到你。 – subhra

+0

從這個問題我明白如果isEdit是錯誤的,並且兩個if語句都是錯誤的,您必須按照isEdit的說法做同樣的事情。如果我是正確的,你可以用該塊替換返回true –

回答

0

最簡單的辦法是複製別人塊你的需要:

if(isEdit==false){ 
    if(!backFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
     alert('Please select jpg/jpeg/png type image for coupon image'); 
     return; 
    }else if(!logoFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
     alert('Please select jpg/jpeg/png type image for coupon logo'); 
     return; 
    }else{ 
     $('#btncouponsubmit').removeAttr("disabled") 
     $('#blankImagediv').css('display', 'block'); 
     $('#nonblankimagediv').css('display', 'none'); 
     return true; 
    } 
}else{ 
    $('#btncouponsubmit').removeAttr("disabled") 
    $('#blankImagediv').css('display', 'block'); 
    $('#nonblankimagediv').css('display', 'none'); 
} 

如果你不想重複代碼重複的部分移動到功能

if(isEdit==false){ 
    if(!backFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
    alert('Please select jpg/jpeg/png type image for coupon image'); 
    return; 
    }else if(!logoFileInput.files[0].name.match(/.(jpg|jpeg|png|gif)$/i)){ 
    alert('Please select jpg/jpeg/png type image for coupon logo'); 
    return; 
    }else{ 
    enable(); 
    return true; 
    } 
}else{ 
    enable(); 
} 

function enable() { 
    $('#btncouponsubmit').removeAttr("disabled") 
    $('#blankImagediv').css('display', 'block'); 
    $('#nonblankimagediv').css('display', 'none'); 
} 
+0

如果我在父'if語句之後有任何'else if語句',那麼該怎麼做。 – subhra

+0

@subhra我很困惑,只是把它們寫在else語句之前。請移至聊天,否則我們會發送垃圾郵件 –