0

我正在编写javascript函数来检查aspx页面中的下拉值是否具有值“已完成”或“已取消”。如果是,则检查日期和时间是否不为空。但该功能永远不会触发。代码如下。

function EnableValidator() {
    var drp = document.getElementById('<%=drpcallstatus.ClientID %>');
    var txt = drp.options[drp.selectedIndex].text;
    var dt = document.getElementById('<%=txtcompletedate.ClientID %>');
    var ct = document.getElementById('<%=txtcomptime.ClientID %>');



    if ((txt == "Completed" | txt=="Cancelled") && (dt===null | ct===null))  {

            alert("Please Enter the Completed Date and Time");

            return false;

    }

从 asp.net 按钮调用该函数

 <asp:Button ID="btnsubmit" runat="server" Text="Submit"  OnClientClick="return EnableValidator()"  onclick="btnsubmit_Click" />
4

2 回答 2

1

这里的问题是您没有为您的OR.

if ((txt == "Completed" || txt=="Cancelled") && (dt===null || ct===null))  {
  ...
}

对条件表达式中||的运算符使用双竖线字符。OR

于 2013-03-26T13:07:18.957 回答
1

尝试 :

if ((txt == "Completed" || txt=="Cancelled") && (dt===null || ct===null))  {
            alert("Please Enter the Completed Date and Time");
            return false;
}

你必须使用||它才能工作。

于 2013-03-26T13:07:39.710 回答