【问题标题】:Javascript validation not working in ASP. NetJavascript 验证在 ASP 中不起作用。网
【发布时间】:2017-06-06 07:05:08
【问题描述】:

我正在创建一个使用 html、css 和 javascript 进行验证的注册表单,如果我将 id="register-form" 放在表单标签中,效果会很好。

<form method="post" role="form" autocomplete="off" id="register-form">

验证的IMGhttp://imgur.com/a/khzXF

但我也想要&lt;asp:Button ID="Button1" CssClass="btn-info" Text="Submit" /&gt;

要使用这个 asp 按钮,我必须将 runat="server" 放在这样的表单标签中

<form method="post" role="form" id="register-form" onload="Page_Load" autocomplete="off" runat="server">

然后我在 Visual Studio 中遇到错误

'register-form' 不是有效的标识符。

编辑后的错误没有像以前那样显示,但验证仍然不起作用我使用了 register_form

如果我从表单标签验证中删除 id="register-form" 无效。

无效验证的IMG

http://imgur.com/a/QoHP5

这里是我的验证 java 脚本文件

http://pastebin.com/yGGu2dYR

我的 html/aspx 文件

http://pastebin.com/i0ewCGrz

更新: 如果我在 html 和 java-script 中将 register-form 更改为 register_form 我在不使用 runat

的情况下运行它,则它不起作用

【问题讨论】:

  • 在浏览器中查看页面的源码...表单元素有什么ID
  • register-form的值从form id likeregister_form和JS或任何使用的地方更改,它肯定会工作
  • id="ctl00" 在源代码中我不明白@JaromandaX 是什么
  • 没有像以前那样显示任何错误,但验证仍然不起作用..! @PranavPatel
  • 我很惊讶它只是 ctl00 ... 通常 ASP 会在您的代码中将 ID 与原始 ID 一起破坏 - 也许是原始 ID 中的“-”阻止它使用原始 ID。反正是ASP的东西……我相信有办法阻止它,一些配置或其他

标签: javascript jquery asp.net validation


【解决方案1】:

您需要更改如下代码以进行验证:

HTML 更改并添加类到表单

<form method="post" role="form" class="register_form" id="register_form" onload="Page_Load" autocomplete="off" runat="server">

并且在验证 javascript 文件中 从 id 选择改变

$("#register-form")

到班级选择

$(".register_form")

在这些步骤之后,您的验证将与runat="server" 的表单一起正常工作

【讨论】:

  • 不是错误但显示在消息框中验证(XHTML5):属性'clientidmode'不是元素'form'的有效属性&验证不起作用
  • 在这种情况下需要在表单中添加类并进行相应的验证。您可以查看更新的答案。
猜你喜欢
  • 1970-01-01
  • 2012-11-09
  • 1970-01-01
  • 2014-12-06
  • 2016-04-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-28
相关资源
最近更新 更多