你能帮我修改这个JavaScript吗?

你能帮我修改这个JavaScript吗?,javascript,asp.net,Javascript,Asp.net,以下代码在强制执行验证规则方面非常有效 function validate() { if (document.getElementById("<%=txtName.ClientID%>").value == "") { alert("Please enter name"); document.getElementById("<%=txtName.ClientID%>").focus(); return false;

以下代码在强制执行验证规则方面非常有效

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;
}
函数验证(){
if(document.getElementById(“”).value==“”){
警报(“请输入名称”);
document.getElementById(“”.focus();
返回false;
}
if(document.getElementById(“”).value==“”){
警报(“请进入城市”);
document.getElementById(“”.focus();
返回false;
}
if(document.getElementById(“”).value==“”){
警报(“请输入状态”);
document.getElementById(“”.focus();
返回false;
}
if(document.getElementById(“”).value==“”){
警告(“请输入zip”);
document.getElementById(“”.focus();
返回false;
}
如果(checkradio()==false){
警报(“请输入联系人”);
document.getElementById(“”.focus();
返回false;
}
返回true;
}
我的问题是表格分为两部分,第一部分和第二部分

第二个1包含必需的表单字段,第2节包含选项字段

规则是不能同时从两个部分中进行选择。您可以从第1节或第2节中进行选择

第1节包含上述必填表单字段,第2节包含同一表单上的可选表单字段

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

如果我从第2节中选择,因为它们在同一个表单上,验证规则生效

是否有一种方法可以对表单进行调整,即如果第2节中的表单字段不为空,则没有有效的验证规则

更好的是,在经典asp中,您可以在一个文件中包含多个表单

这在asp.net中是可能的吗

我认为这将消除从可选字段中选择时的验证

对不起,线太长了

  • ASP.NET中可能有多个表单,只需在标记中添加多个表单即可
  • 在validate函数中,首先检查是否设置了form2的任何控件,然后返回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;
    }
    
    ....
    
    函数验证(){
    如果(…检查是否设置了表2的任何控件…)返回true;
    //否则,继续检查表格1
    if(document.getElementById(“”).value==“”){
    警报(“请输入名称”);
    document.getElementById(“”.focus();
    返回false;
    }
    ....
    

  • 请修复
    函数validate(){
    (当您/某人进行编辑时,此消息将自毁)我可以通过使用一个表单和以下内容来修复它:if txtfield1FromSection2!=“”&&txtfield2FromSection2{返回true;否则它们是空的,请验证第一节中的表单字段。它可以很好地工作,但我仍然喜欢Andrew的逻辑,尽管我无法将其全部整合在一起。Kenny,如果我下面的答案有帮助,请将其标记为有帮助的,否则请让我们知道您还需要帮助什么。谢谢Andrew。我正在尝试找出如何使用多个字段进行验证在asp.net中使用ms。一旦我能弄明白这一点,我将检查您提出的解决方案。我将尽快发回。