|            
图5 客户端的验证逻辑
  FormSubmitTest(problemTitle,bugDescription,buildVersion,cboProduct, appLanguage,cboArea, cboSubArea,severity,build) {  var iG;  var renl = "\r" + "\n";  iG = 0;  ResetArrowSize();  if (problemTitle.value == " ){    document.images.item("ArrowProbTitle").width=8   iG++   }  if (buildVersion.value == -1){   document.images.item("ArrowBuildVersion").width=8   iG++  }  if (buildVersion.value == "){   document.images.item("ArrowBuildVersion").width=8   iG++  }  if (appLanguage.value == -1){   document.images.item("ArrowAppLanguage").width=8   iG++  }  if (cboProduct.value == "){   document.images.item("ArrowProductName").width=8   iG++  }  if (cboArea.value == "){   document.images.item("ArrowProblemArea").width=8   iG++  }  if (cboSubArea.value == "){   document.images.item("ArrowProblemSubArea").width=8   iG++  }  if (severity.value == -1){   document.images.item("ArrowSeverity").width=8   iG++  }  if (bugDescription.value == "Problem Description:" + renl + renl +       "Steps to reproduce:" + renl + renl + "Expected behavior:"       + renl + renl + "Actual behavior:"+ renl + renl + renl){    document.images.item("ArrowDescription").width=8   iG++  }  if (bugDescription.value == "){   document.images.item("ArrowDescription").width=8   iG++  }  if (iG != 0){   alert("You are missing one or more of the required items       (indicated by the red arrow) needed to submit this form.")   return false;  }  else{   if (document.form1.bugDescription.value == ")   {    // don't submit    alert("Please enter a problem description.")    return false;   }  else{   if (document.form1.bugDescription.value == "Problem       Description:       Steps to reproduce: Expected behavior: Actual       behavior:")    {     // don't submit     alert("Please enter a problem description.")     return false;    }   else{    var buildval = build.value;    var buildlen = buildval.length;    file://alert(buildlen);    if (buildlen <= 0)    {     var typ = buildVersion.type;     if (typ == "text") file://build is a text box     {      var val = buildVersion.value;      var len = val.length;      if ((isNaN(val)) || (len != 4))      {       // don't submit       alert("Please enter 'Build' using the           format 'NNNN'.")       return false;       }     else     {      // concatenate the build number with        "07.00.00."      buildVersion.value = "07.00.00." +       buildVersion.value      // submit      document.form1.method = "POST"      document.form1.action = "lamegeneral.asp"       return true;      }     }    else    {     // submit     document.form1.method = "POST"     document.form1.action = "lamegeneral.asp"      return true;     }    }    }  }  }  }  
    图6 在报告漏洞时选择产品的版本
  
 
   
 |