首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在asp.Net LinkButton OnClientClick上触发html5表单验证

在asp.Net LinkButton OnClientClick上触发html5表单验证
EN

Stack Overflow用户
提问于 2017-10-03 13:51:42
回答 5查看 1.6K关注 0票数 13

我有一个webform应用程序

在母版页中,我有一个窗体

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<body class="tile-1-bg">
<form id="form1" runat="server">

在我的page.aspx中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div class="control-group" runat="server" id="divNome">
    <label for="txtNome" class="control-label">Nome o Ragione Sociale*</label>
    <div class="controls">
        <asp:TextBox runat="server" ID="txtNome" class="form-control input-sm" required></asp:TextBox>
    </div>
</div>
<asp:Linkbutton runat="server" ID="lnkBtnRegistrati" class="btn btn-default btn-lg btn-block" Text="REGISTRATI" OnClientClick="if(checkForm())return true; else return false;" OnClick="lnkBtnRegistrati_Click"></asp:Linkbutton>

我想调用一个Javascript函数来模拟按钮提交,如果某些验证出错并在表单域上显示错误,则返回false。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    function checkForm()
    {
         ?
    }

我该怎么做呢?

EN

回答 5

Stack Overflow用户

发布于 2017-10-06 10:40:15

您可以创建自己的验证并返回值。您需要将OnclientClick更改为OnClientClick="return checkForm()"

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<div id="errorSummary" style="display: none;">For is invalid!</div>

<script type="text/javascript">
    function checkForm() {
        var formIsValid = false;

        //do your form validation
        if ($("#<%= txtNome.ClientID %>").val() != "") {
            formIsValid = true;
        }

        //show or hide the error message
        if (!formIsValid) {
            $("#errorSummary").show();
        } else {
            $("#errorSummary").show();
        }

        //return the validation result
        return formIsValid;
    }
</script>

但是,您也可以使用Validaton控件和ValidationSummary执行相同的操作

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<asp:TextBox runat="server" ID="txtNome"></asp:TextBox>

<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
    ErrorMessage="Input cannot be empty" ControlToValidate="txtNome" Display="Dynamic">
</asp:RequiredFieldValidator>

<asp:ValidationSummary ID="ValidationSummary1" runat="server" />

<asp:LinkButton runat="server" ID="lnkBtnRegistrati" Text="REGISTRATI"></asp:LinkButton>

请注意,只有最新的浏览器才支持输入字段的required属性,请参见https://www.w3schools.com/TAgs/att_input_required.asp

票数 3
EN

Stack Overflow用户

发布于 2017-10-06 10:34:07

你想要的是返回checkform的结果,你可以自己在checkform方法中处理它的状态:

Aspx代码

更改自

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<asp:Linkbutton runat="server" ID="lnkBtnRegistrati" class="btn btn-default btn-lg btn-block" Text="REGISTRATI" OnClientClick="if(checkForm())return true; else return false;" OnClick="lnkBtnRegistrati_Click"></asp:Linkbutton>

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <asp:Linkbutton runat="server" ID="lnkBtnRegistrati" class="btn btn-default  
 btn-lg btn-block" Text="REGISTRATION" OnClientClick="return checkform();"  
 OnClick="lnkBtnRegistrati_Click"></asp:Linkbutton>

javascript方法中:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function checkForm()
    {
        if(true) // your condition to check
       {
            return true;

       }
        else{
              return false;
           } 
    }

说明:

在标记中,无论您的条件是否满足,Onclientclick都将返回,如果您的条件满足,那么您将作为return true返回,反之亦然。所以通过这种方式你可以实现你想要的

票数 2
EN

Stack Overflow用户

发布于 2017-10-06 10:44:44

您可以在表单上调用submit(),这将触发浏览器验证。它没有任何返回值,但会自动提交表单。您的代码没有显示您需要在此之后执行其他操作,因此在OnClientClick事件中返回true或false是不必要的。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
document.getElementById("form1").submit();

但是,除非您遗漏了一个部分,否则将链接按钮替换为

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<input type="submit" runat="server" />
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46546273

复制
相关文章
python 删除文件中的空行
res = [x for x in res if x.split()] #将空行从 res 中去掉
全栈程序员站长
2022/09/02
3.5K0
sed 删除命令
删除/etc/passwd中的不能登录的用户(筛选条件:/sbin/nologin)
用户1217611
2022/05/06
1.3K0
sed 删除命令
Excel技巧:快速删除表中的空行
有时候,表中可能存在空行,如果我们需要删除表中的这些空行,如何快速操作呢?特别是包含大量数据的大表。为演示起见,下面的示例表数据较少。
fanjy
2023/02/24
2.8K0
Excel技巧:快速删除表中的空行
Linux sed 命令的使用
首先,就昨晚的发的消息道歉,虽然整蛊大家了,但是我还是挺开心的。 sed是一种流编辑器,配合正则表达式使用,sed处理文件之时,把当前处理的文保存在缓冲区,sed命令处理缓冲区的内容,将缓冲区的内容显示在到屏幕上,sed能够对一些重复操作的动作进行简化。 先来了解一下sed的命令格式 sed [options] 'command' filesname sed [options] -f scriptfilename filesname sed的命令 a \ 在当前行下面插入文本 i \ 在当前行
赵腰静
2018/03/09
3.2K0
Sed命令的基本使用
该文介绍了sed命令的基本使用,包括打印匹配行、替换匹配行、从文件中读取并写入到输出中等常用用法,以及使用修饰符进行更高级的文本处理。同时还介绍了sed命令的常用选项和例子,以及与其他文本处理工具的对比。
GavinZhou
2018/01/02
1.2K0
Excel去除空行的各种方法_批量删除所有空行
大家好,又见面了,我是你们的朋友全栈君。 本文转载至:https://baijiahao.baidu.com/s?id=1590204478648348952&wfr=spider&for=pc,
全栈程序员站长
2022/09/20
5.7K0
Excel去除空行的各种方法_批量删除所有空行
使用lsof命令恢复已删除文件(正在使用的文件)
此方法适用于正在使用的文件 ,且被删除后,可以通过lsof的方式进行恢复。 演示:
互联网-小阿宇
2022/11/21
1.8K0
使用lsof命令恢复已删除文件(正在使用的文件)
python 实现类似sed命令的文件内
#!/usr/bin/env python     #_*_coding:utf-8 _*_     #replace()方法把字符串中的 old(旧字符串)替换成new(新字符串),如果指定第三个参数max,则替换不超过 max 次。     #语法:str.replace(old, new[, max])     import sys,os     old_text, new_text, file_name = sys.argv[1], sys.argv[2], sys.argv[3]     f = 
py3study
2020/01/10
1.1K0
linux sed命令使用
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haluoluo211/article/details/77985202
bear_fish
2018/09/14
4.9K0
linux sed命令使用
linux sed命令使用
sed是一款常用的文本处理工具,其名称来自于“stream editor”(流编辑器)。sed能够从标准输入或文件中读取文本,对文本进行编辑和转换,然后将结果输出到标准输出或指定的文件中。在Linux系统中,sed命令是一种非常强大和灵活的工具,可以帮助用户进行多种文本操作,如文本替换、删除、插入、打印等等。
堕落飞鸟
2023/03/27
3.8K0
Python去除文本文件中的空行
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
村雨遥
2019/09/09
4.2K0
Python 去除文本文件中的空行
功能 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中; 代码 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/3/18 21:41 # @Author : cunyu # @Site : cunyu1943.github.io # @File : deleteBlankLines.py # @Software: PyCharm """ 读取存在空行的文件,删除其中的空行,并将其保存到新的文件中 """
村雨遥
2022/06/15
1.6K0
Linux中sed工具的使用
sed 是一种流编辑器,它是文本处理中非常重要的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
谢公子
2022/01/19
2.3K0
Linux中sed工具的使用
如何使用 sed 替换文件中的字符串?
在 Linux 系统中,sed 是一个非常有用的文本处理工具,它可以用于在文件中进行字符串替换操作。sed 是流编辑器(stream editor)的缩写,它可以对文本进行逐行处理,包括查找和替换特定的字符串。本文将详细介绍如何使用 sed 命令在文件中进行字符串替换操作。
网络技术联盟站
2023/06/09
5.5K0
如何使用 sed 替换文件中的字符串?
Linux的sed命令
Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
狼啸风云
2019/11/05
4.1K0
linux中sed命令总结
原文:https://wangchujiang.com/linux-command/c/sed.html
入门笔记
2022/06/02
3.3K0
linux下的删除文件命令,Linux下删除文件命令「建议收藏」
在linux中删除文件与文件夹我们可以直接使用rm就可以删除了,彻底删除文件或文件夹我们可以使用shred命令来完成,接下来是小编为大家收集的Linux下删除文件命令,希望能帮到大家。
全栈程序员站长
2022/09/17
49.8K0
linux下的删除文件命令,Linux下删除文件命令「建议收藏」
Linux批量替换某种类型文件中的字符串-sed和grep命令使用
今天在修改rpm打包的spec配置文件时,遇到一个问题就是:需要将100个左右源代码中的spec配置文件中的Release一行中的发布版本号使用宏变量%{_release}进行替换。
ccf19881030
2019/04/23
5.8K0
点击加载更多

相似问题

使用sed删除文件中的空行

20

使用一个sed命令,使用sed +删除"#“和空行

63

使用sed删除空行

1716

如何使用SED删除多个空行?

60

无法使用sed regex删除空行

40
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文