【问题标题】:Can you please help me modify this JavaScript? [closed]你能帮我修改这个 JavaScript 吗? [关闭]
【发布时间】:2012-04-28 19:45:56
【问题描述】:

以下代码在执行验证规则方面效果很好。

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 部分包含选项字段。

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

第 1 部分的上述表单字段是必需的,第 2 部分在同一表单上具有可​​选的表单字段。

如果我从第 1 部分中选择,一切都很好。

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

有没有办法让表单说,如果第 2 节中的表单字段不为空,则没有有效的验证规则?

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

在 asp.net 中可以吗?

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

对不起,长线程。

【问题讨论】:

  • 肯尼,如果我下面的回答有帮助,请将其标记为;否则,请告诉我们您还需要什么帮助。
  • 谢谢安德鲁。我试图弄清楚如何在 asp.net 中使用多种形式。一旦我弄清楚这一点,我就会检查您提出的解决方案。我会尽快回复。

标签: javascript asp.net


【解决方案1】:
  1. 在 ASP.NET 中可以有多个表单,只需在您的标记中添加多个表单。
  2. 在你的 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;
    }
    
    ....
    

【讨论】:

  • 请修复function validate() {。 (当您/某人进行编辑时,此消息将自毁)
  • 我能够通过仅使用一个表单和以下内容来修复它: if txtfield1FromSection2 !="" && txtfield2FromSection2 { return true;否则它们为空,请验证第一节中的表单字段。它运行良好,但我仍然喜欢 Andrew 的逻辑,即使我无法将它们全部组合在一起。
猜你喜欢
  • 1970-01-01
  • 2022-06-15
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-08
  • 2021-01-28
相关资源
最近更新 更多