div 连接到服务器时的 JS 代码破坏

js code busting when div is connected to server

提问人:Dinospice 提问时间:4/14/2023 最后编辑:Dinospice 更新时间:4/15/2023 访问量:30

问:

我正在尝试使用人们可以注册和登录的 ASP.NET 创建一个网站。我正在使用 javascript 验证用户的输入并相应地向他们显示错误消息。问题是当我按下提交按钮时,它只是发送表单(每当您遇到语法问题时就会发生该问题)。我已经确定代码有问题,因为它无法识别它应该更改的 div,因为它具有属性。由于某种原因,注册页上不会出现问题(登录页连接到母版页,而注册页则不重要)。该站点连接到将用户保存在 SQL 表中的日期库。runat="server"

请尽量用简单的术语解释,因为我是新手(编码不到一年)。

<head runat="server">
  <title>log in</title>
  <script type="text/javascript">
    function checkForm(){
      var username = document.getElementById("usernameInput").value;
      if (username.length < 6) {
        document.getElementById("errorMessage").innerHTML = "<br />Username is invalid";
        return false;
      }
      return true;
    }
  </script>
</head>
<body>
  <form id="form2" method="post" runat="server" onsubmit="return 
checkForm();">
    <div style="display:inline-block;text-align:left">
      Username:
      <br />
      <input type="text" name="usernameInput" id="usernameInput"/> 
      <div runat="server" id="errorMessage" name="errorMessage" style="display:none"></div>
      <br />
      <input type="submit" name="submit"/>
    </div>
  </form>
</body>

这是包含大部分基本要素的代码,调用 .innerHTML 的行在具有属性时无法识别 div(当我删除它时代码有效)。同样,由于某种原因,代码似乎在注册页面上起作用。runat="server"

我使用 C# 是为了在服务器端工作并显示有关登录名是否与现有任何用户匹配的错误消息,这就是我需要该部分的原因。runat="server"

编辑:我已经应用了评论中提出的第一个解决方案,即将此属性添加到div标签中。它现在正在工作。ClientIDMode="Static"

JavaScript C# HTML 表单 服务器端

评论

0赞 SoftwareDveloper 4/15/2023
请参阅此链接。这可能会有所帮助。stackoverflow.com/questions/21707233/......

答: 暂无答案