2016-02-13 42 views
-2

我使用If Else語句的某些函數的JavaScript代碼。但它太長了。我需要讓它變得容易。所以問題是,如何減少以下函數中的代碼行?JavaScript - If Else

function clickFunction(e) { 

      if(document.getElementsByName('insert_data1')[0].value == 1 || document.getElementsByName('insert_data1')[0].value == 0){ 
       document.getElementsByName('inputvalue1')[0].innerHTML = document.getElementsByName('insert_data1')[0].value; 
       } 
       else{ 
        alert("Please enter 0 or 1 !!"); 
       } 
      if(document.getElementsByName('insert_data2')[0].value == 1 || document.getElementsByName('insert_data2')[0].value == 0){ 
       document.getElementsByName('inputvalue2')[0].innerHTML = document.getElementsByName('insert_data2')[0].value; 
       } 
       else{ 
        alert("Please enter 0 or 1 !!"); 
       } 
      if(document.getElementsByName('insert_data3')[0].value == 1 || document.getElementsByName('insert_data3')[0].value == 0){ 
       document.getElementsByName('inputvalue3')[0].innerHTML = document.getElementsByName('insert_data3')[0].value; 
       } 
       else{ 
        alert("Please enter 0 or 1 !!"); 
       } 
      if(document.getElementsByName('insert_data4')[0].value == 1 || document.getElementsByName('insert_data4')[0].value == 0){ 
       document.getElementsByName('inputvalue4')[0].innerHTML = document.getElementsByName('insert_data4')[0].value; 
       } 
       else{ 
        alert("Please enter 0 or 1 !!"); 
       } 

       e.preventDefault(); 
       return false; 
    } 

回答

0

這根本沒有經過測試,但也許這樣的事情可能會伎倆?

function clickFunction(e) { 
    e.preventDefault(); 
    var inputs=['inputvalue1','inputvalue2','inputvalue3','inputvalue4']; 
    var fields=['insert_data1','insert_data2','insert_data3','insert_data4']; 
     fields.forEach(function(e,i,a){ 
      var field=document.getElementsByName(e)[0]; 
      if(field.value==1 || field.value==0) document.getElementsByName(inputs[i])[0].innerHTML=field.value; 
      else alert("Please enter 0 or 1 !!"); 
     }); 
    return false; 
} 
+0

謝謝。它是完美的工作:) –

+0

如果它可以幫助你可能會考慮接受答案 – RamRaider

+0

我確實已經添加它作爲答案。謝謝 –