2016-02-13 53 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

我确实已经添加它作为答案。谢谢 –