2011-04-19 84 views
1
<script language="JavaScript"> 

    function formCheck() 
    { 
     var getValues = new Array(); 

     getValues[0] = document.getElementById('jumpMenu'); 
     getValues[1] = document.getElementById('fName'); 
     getValues[2] = document.getElementById('lName'); 
     getValues[3] = document.getElementById('fName'); 
     getValues[4] = document.getElementById('streetAdr'); 
     getValues[5] = document.getElementById('city'); 
     getValues[6] = document.getElementById('state'); 
     getValues[7] = document.getElementById('zipcode'); 
     getValues[8] = document.getElementById('country'); 
     getValues[9] = document.getElementById('dob_m'); 

     if (getValues[0].value == 'Select Title') 
     { 
      document.getElementById('jumpMenu').style.backgroundColor='#FFD2D2'; 
      return false; 
     } 
     else if (getValues[1].value == '') 
     { 
      document.getElementById('fName').style.backgroundColor='#FFD2D2';   
      document.getElementById('fNameError').innerHTML='field is empty'; 
      document.getElementById("fNameError").style.fontSize="10px"; 
      document.getElementById("fNameError").style.color="red"; 
      document.getElementById("fNameError").style.display="inline"; 
      return false; 
     } 
     else if (getValues[2].value == '') 
     { 
      document.getElementById("lName").style.backgroundColor="#FFD2D2"; 
      document.getElementById("lNameError").innerHTML="field is empty"; 
      document.getElementById("lNameError").style.fontSize="10px"; 
      document.getElementById("lNameError").style.color="red"; 
      return false; 
     } 
     else if (getValues[4].value == '') 
     { 
      document.getElementById("streetAdr").style.backgroundColor="#FFD2D2"; 
      document.getElementById("stNameError").innerHTML="field is empty"; 
      document.getElementById("stNameError").style.fontSize="10px"; 
      document.getElementById("stNameError").style.color="red"; 
      return false; 
     } 
     else if (getValues[5].value == '') 
     { 
      document.getElementById("city").style.backgroundColor="#FFD2D2"; 
      document.getElementById("cityError").innerHTML="field is empty"; 
      document.getElementById("cityError").style.fontSize="10px"; 
      document.getElementById("cityError").style.color="red"; 
      return false; 
     } 
     else if (getValues[6].value == '') 
     { 
      document.getElementById("state").style.backgroundColor="#FFD2D2"; 
      document.getElementById("stateError").innerHTML="field is empty"; 
      document.getElementById("stateError").style.fontSize="10px"; 
      document.getElementById("stateError").style.color="red"; 
      return false; 
     } 
     else if (getValues[7].value == '') 
     { 
      document.getElementById("zipcode").style.backgroundColor="#FFD2D2"; 
      document.getElementById("zipcodeError").innerHTML="field is empty"; 
      document.getElementById("zipcodeError").style.fontSize="10px"; 
      document.getElementById("zipcodeError").style.color="red"; 
      return false; 
     } 
    } 



    function normalColor(val) 
    { 
     document.getElementById(val).style.backgroundColor=""; 

    } 

</script> 

您好所有中调用函数,遇到问题到另一个功能

以及我在写代码在JavaScript和你能看到我的表演形式验证...所以我声明数组,然后把日期在数组中,然后使用if,else if语句以及使用innerHTML在div容器中显示数据来执行验证。

但这些代码显示我未professionl工作..我真的很讨厌这个......所以我试图定义新的功能,即在店内的错误消息咬它不工作以及..

function displayMsg(val) 
{ 
     document.getElementById(val).innerHTML="field is empty"; 
     document.getElementById(val).style.fontSize="10px"; 
     document.getElementById(val).style.color="red"; 
} 

但是当我打电话这种功能,它给我什么

else if (getValues[1].value == '') 
{ 
    document.getElementById('fName').style.backgroundColor='#FFD2D2';   
     displayMsg(fNameError); 
     return false; 
} 

所以请您帮我找出并给我一些提示,使我的代码更专业和良好的。

+1

你可以尝试使用流行的JavaScript库jQuery(http://jQuery.com),它有很多可以用于各种常见Web开发需求的插件。有一个很好的jQuery验证插件,可以让你的代码变得更小更优雅。 – 2011-04-19 11:26:42

+0

谢谢。但即时通讯学习Javascript这就是为什么即时通讯只使用Javascript来建立一个验证表格 – Muzammil 2011-04-19 11:43:17

回答

1

从也许你只是缺少引号fNameError

displayMsg("fNameError"); 

关于使代码更好一点,你可以只计算元素一次,而不是多次,所以,与其这样:

function displayMsg(val) 
    { 
     document.getElementById(val).innerHTML="field is empty"; 
     document.getElementById(val).style.fontSize="10px"; 
     document.getElementById(val).style.color="red"; 
    } 

已有此

function displayMsg(val) 
    { 
     var element = document.getElementById(val); 
     element.innerHTML = "field is empty"; 
     element.style.fontSize = "10px"; 
     element.style.color = "red"; 
    } 

这可以说是简单阅读并可能稍快。

+0

感谢您的快速反应,我已经尝试了您的代码,它给予了积极的回应,但它只显示输入字段中的红色,并没有显示错误信息。如果(getValues [1] .value =='') – Muzammil 2011-04-19 11:34:59

+0

'code'else if { document.getElementById('fName')。style.backgroundColor ='#FFD2D2'; displayMsg(“fNameError”); 返回false; }那样 – Muzammil 2011-04-19 11:36:51

+0

不显示“字段是空的”消息?你最好使用'.setText()'而不是'.innerHTML',因为后者被认为是不好的做法。 – 2011-04-19 11:36:57

1

我想你忘了引号。尝试调用这样的函数:

displayMsg("fNameError"); 
+0

谢谢你..我已经试过这个 – Muzammil 2011-04-19 11:50:18