提醒那些仍然是空的文本框

时间:2013-11-15 05:49:24

标签: javascript php

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为空

3 个答案:

答案 0 :(得分: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();
}

答案 1 :(得分: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();
    }
}

答案 2 :(得分:0)

您可能必须将if块拆分为单独的块,然后使用String并将其与每个if中的空字段名称连接。也就是说,

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