Javascript 验证在 ASP 中不起作用。网

Posted

技术标签:

【中文标题】Javascript 验证在 ASP 中不起作用。网【英文标题】:Javascript validation not working in ASP. Net 【发布时间】: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的东西……我相信有办法阻止它,一些配置或其他 【参考方案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'的有效属性&验证不起作用 在这种情况下需要在表单中添加类并进行相应的验证。您可以查看更新的答案。

以上是关于Javascript 验证在 ASP 中不起作用。网的主要内容,如果未能解决你的问题,请参考以下文章

远程验证在 ASP.NET MVC 5 中不起作用

Javascript 在 ASCX 中不起作用 – ASP NET 用户控件

数据注释在部分 ASP.NET MVC 中不起作用 jquery 不显眼的验证

Cookie 身份验证在 ASP.NET Core 应用程序中不起作用

回发后,我的 JavaScript 函数在 ASP.NET 中不起作用

客户端验证在带有 Bootstrap 的 ASP.NET MVC5 中不起作用