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
但我也想要<asp:Button ID="Button1" CssClass="btn-info" Text="Submit" />
要使用这个 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 中不起作用。网的主要内容,如果未能解决你的问题,请参考以下文章
Javascript 在 ASCX 中不起作用 – ASP NET 用户控件
数据注释在部分 ASP.NET MVC 中不起作用 jquery 不显眼的验证
Cookie 身份验证在 ASP.NET Core 应用程序中不起作用