2012-04-28 81 views
-3

下面的代码在执行验证规则方面的伟大工程。能否请你帮我修改这个JavaScript?

function validate() { 

    if (document.getElementById("<%=txtName.ClientID%>").value == "") { 
     alert("Please enter name"); 
     document.getElementById("<%=txtName.ClientID%>").focus(); 
     return false; 
    } 

    if (document.getElementById("<%=txtCity.ClientID %>").value == "") { 
     alert("Please enter city"); 
     document.getElementById("<%=txtCity.ClientID %>").focus(); 
     return false; 
    } 
    if (document.getElementById("<%=txtState.ClientID%>").value == "") { 
     alert("Please enter state"); 
     document.getElementById("<%=txtState.ClientID%>").focus(); 
     return false; 
    } 
    if (document.getElementById("<%=txtZip.ClientID%>").value == "") { 
     alert("Please enter zip"); 
     document.getElementById("<%=txtZip.ClientID%>").focus(); 
     return false; 
    } 
    if (checkradio() == false) { 
     alert("Please enter contacts"); 
     document.getElementById("<%=txtContacts.ClientID%>").focus(); 
     return false; 
    } 
    return true; 
} 

我的问题是,表格被分成2个部分,第1节和第2节

二1包含所需的表单字段和部分2包含选项字段。

的规则是,你不能从在同一时间两部分进行选择。您可以从2.

第1具有以上的表单字段部分1 OR部分被要求与第2个AHAS形式相同的形式是可选的字段选择。

如果我从第1节选择,一切都很好。

如果从第2节我的选择,因为它们是相同的形式,验证规则一命呜呼

有没有一种办法条件的形式说,如果从第2节的表单字段不为空,那么没有验证规则生效?

更重要的是,在传统的ASP,你可以有多种形式在一个文件中。

这有可能在asp.net?

我认为这将消除从可选字段选择时,在踢了验证。

抱歉长螺纹。

+0

肯尼,如果我的回答如下帮助,请注明它是这样;否则请让我们知道你还需要什么帮助。 – Andrey 2012-04-28 21:56:02

+0

谢谢安德鲁。我想弄清楚如何在asp.net中使用多个表单。一旦我能弄清楚,那么我会检查你提出的解决方案。我会尽快回复。 – Kenny 2012-04-29 06:05:28

回答

0
  1. 它可以在ASP.NET多种形式,只需添加多种形式在您的标记。
  2. 在你的验证功能,首先检查是否有窗口2的控制设定,然后返回true;否则继续进行其他检查。

    function validate() { 
    
    if(... check if any controls of form 2 are set ...) return true; 
    
    // Otherwise proceed with checks for form 1 
    
    if (document.getElementById("<%=txtName.ClientID%>").value == "") { 
        alert("Please enter name"); 
        document.getElementById("<%=txtName.ClientID%>").focus(); 
        return false; 
    } 
    
    .... 
    
+0

请修正'功能验证(){'。 (当你/某人进行编辑时,这个msg会自毁) – ajax333221 2012-04-28 21:09:02

+0

我能够通过使用一个表单和以下内容来修复它:if txtfield1FromSection2!=“”&& txtfield2FromSection2 { return true;否则它们是空的,验证第一部分的表单域。它工作正常,但我仍然喜欢安德鲁的逻辑,即使我无法把它们放在一起。 – Kenny 2012-04-29 15:33:20