2013-11-15 46 views
0
function checkvalue() { 
    var areaDesc = document.getElementById('areaDesc').value; 
    var cboLeaveType = document.getElementById('cboLeaveType').value; 
    var fromDate = document.getElementById('fromDate').value; 
    var toDate = document.getElementById('toDate').value; 

    if (areaDesc == "" || fromDate == "" || toDate == "" || cboLeaveType = "") 
    {    
     alert("empty hoys");    
    } 
    else 
    { 
     document.getElementById('hdnAction').value = "go"; 
     document.frmLeave.submit(); 
    }    
} 

那的代碼,它是工作,但是,我想提醒那些區域誰仍然是空的,提醒那些文本框誰仍然是空的

例如。

ex1: areaDesc,fromDate,toDate不爲空,它必須提醒「txtSignOff仍爲空」;

ex2: areaDesc,fromDate不爲空它必須提醒「toDate,txtSignOff仍爲空」; 或

TODATE是空

TODATE是空

回答

0

您可能必須將if塊分割爲單個塊,然後使用一個字符串並將它與每個if中的空字段名稱連接起來。也就是說,

var emptyStr = '' 
if (areaDesc == '') { emptyStr += 'areaDesc,' ; } 
if (fromDate == '') { emptyStr += 'fromDate,' ; }... 
... 
emptyStr += ' still empty' 
if (emptyStr != '') { alert(emptyStr); } 
+0

感謝,它確實有效,這是我所需要的,感謝 – StingHands

0

你就必須有一個單獨的if語句對你要求每個輸入類型,否則這是一個非常普通的錯誤消息。像這樣的東西應該這樣做:

另外,其中是否定義了txtSignOff?你的意思是cboLeaveType

如果您不想要多個警報,只需將下面的代碼中的所有警報組合起來,並將它們轉換爲字符串,然後if (error),提醒錯誤字符串。

function checkvalue() { 
    var areaDesc = document.getElementById('areaDesc').value; 
    var cboLeaveType = document.getElementById('cboLeaveType').value; 
    var fromDate = document.getElementById('fromDate').value; 
    var toDate = document.getElementById('toDate').value; 

    if (!areaDesc) alert("areaDesc still empty"); 
    if (!fromDate) alert("fromDate still empty"); 
    if (!toDate) alert("toDate still empty"); 
    if (!txtSignOff) alert("txtSignOff still empty"); 

    if (areaDesc && fromDate && toDate && txtSignOff) 
    { 
     document.getElementById('hdnAction').value = "go"; 
     document.frmLeave.submit(); 
    } 
} 
1

您可以使用for in這樣的:

function checkvalue() { 
    var fields = { 
     'areaDesc' : document.getElementById('areaDesc').value; 
     'cboLeaveType' : document.getElementById('cboLeaveType').value; 
     'fromDate' : document.getElementById('fromDate').value; 
     'toDate' : document.getElementById('toDate').value; 
    }; 

    for(var fieldName in fields){ 
     if(fields[fieldName] == ""){ 
      alert("field" + fieldName + "is empty"); 
      return false; 
     } 
    } 

    document.getElementById('hdnAction').value = "go"; 
    document.frmLeave.submit(); 
} 
+0

行不通的兄弟。我調用checkvalue()後它什麼也不做。 – StingHands