2017-06-06 4 views
0

助けが必要です。 JavaScriptを使用してif文の中に存在する条件を正しく検証することができません。以下のコードを説明しています。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から来るべきとチェックのためelse partに入らなければならないdisplay block/noneが、そのは、そのように起きていない最初のif statementが真であるとき、私の問題であり、その中にその両方のif statementをチェックします一度その最初の文に入力するとelse partに入っていない。私を助けてください。

+1

理由だけでリターンを交換しませんelse文からのブロックには本当ですか?コードを複製したくない場合は、3行を関数に単純に移動することができます。 –

+0

@JurijJazdanov:あなたを得られませんでした。 – subhra

+0

質問から、私は、isEditがfalseであり、両方のif文がfalseである場合、isEditが真であったのと同じことをしなければならないことを理解しました。もし私が右の場合、あなたはそのブロック –

答えて

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文の前にそれらを書いてください。チャットに移動してください。 –

関連する問題