求助 这个怎么解

qq_40813428 2019-01-18 08:40:49
我想在 前台用js验证表单 验证通过后 在执行服务端button按钮后的代码
...全文
515 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
打中单的ADC 2019-03-05
  • 打赏
  • 举报
回复
在 form 标签上面写 onsubmit=" return fun() "
月夜惹人醉 2019-02-27
  • 打赏
  • 举报
回复
https://www.cnblogs.com/weihengblogs/p/3433154.html
  • 打赏
  • 举报
回复
onclientclick="if(validSuccess()){return true;}return false;"
只要这样就可以触发服务端绑定的按钮事件了
  • 打赏
  • 举报
回复
如果你是webform,那么就是js前端校验,这个有各种js控件可以到这些,根据验证是否通过来return true还是false确认是否触发后台绑定的事件 如果你是mvc或者aspx+ashx的方式,那么前端还是js验证,验证通过后执行ajax方法,来调用暴露给前端的接口
  • 打赏
  • 举报
回复
可以直接把检验放在按钮事件里,设置一个标志位,默认true,一旦校验失败就改为f,最后在if判断这个标志位就好了
小刘哈哈 2019-01-22
  • 打赏
  • 举报
回复
这个没什么复杂的东西,无非是 前端 json数据序列化一下 再post/get 提交到后端 后端反序列化下 再执行相应的 操作。
qq_40813428 2019-01-21
  • 打赏
  • 举报
回复
引用 9 楼 以专业开发人员为伍的回复:
[quote=引用 8 楼 qq_40813428 的回复:] 那我要怎么调用 逻辑层的访问数据库的方法呢 在js里怎么调用
<input type="submit"> 标签的 onclick 属性对应的代码,返回 true 则会继续执行 <form> 提交,返回 false 则会终止过程、避免 <form> 提交。 你真该先学 hs/html,学会了 html 才敢于说“前台验证表单”啊。[/quote] 对数据库的增删改 代码都是在后台服务端按钮单击事件里面写着的啊 我要用js验证完 然后再去执行服务端代码 你说的那个可以执行js代码的 onclientClick 里面怎么写访问后台button单击事件里面的 对数据库的操作代码呢
  • 打赏
  • 举报
回复
顺便提醒一下 webform 编程,你的控件在浏览器端的 id 不是你的服务器端的 ID 属性,而是服务器控件的 ClientID 属性返回的。所以你不能因为服务器端 ID 是 btnJS 就认为在浏览器端的 id 就是 btnJS。这个编程知识一定要注意。
  • 打赏
  • 举报
回复
顺便说几个相关的简单问题: 1. 实际上对于 asp.net webform,你应该看15年前的好的关于 asp.net 组件/控件原理的教科书来学习。(或者你不要学 asp.net webform) 2. 上述代码,假设要在 func1 中访问触发的 element 的对象,应该这样写
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return func1(this);" />
你可以使用 vs 在如下代码的 return false 那里设置一个调试断点
function func1(c) {
    var self = this;
    window.alert(c.id);
    return false;
}
你会发现,函数这次执行中的 this 其实是 window 对象,而不是 button。因为 js 代码"return func1(...)”这里表示的函数调用者是 window (调用window级别的 func1 函数),所以须用参数把真正的 this 传进函数。 3. 使用 vs 对 js 调试最为重要。学不会这个技能,就别搞前端 js 开发了。所以要学会用 vs 来调试 js。同时只有会调试,那么你才能学好 asp.net。换句话说,学 asp.net 之前必须先学会用 html/js 来开发网站,而不是倒过来次序学习。
  • 打赏
  • 举报
回复
在你的服务器端定义 Button 的 OnClientClick 属性,例如
 <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return func1();" />
你的函数通过返回 true/false 来控制提交。
  • 打赏
  • 举报
回复
引用 8 楼 qq_40813428 的回复:
那我要怎么调用 逻辑层的访问数据库的方法呢 在js里怎么调用
<input type="submit"> 标签的 onclick 属性对应的代码,返回 true 则会继续执行 <form> 提交,返回 false 则会终止过程、避免 <form> 提交。 你真该先学 hs/html,学会了 html 才敢于说“前台验证表单”啊。
张天星 2019-01-20
  • 打赏
  • 举报
回复
引用 1 楼 张天星 的回复:
问题不明确,我答问题都需要猜测几个可能,简直了。。。。
JS验证表单是你自己写的?Buttion的服务端代码,指的是事件么。
如果是的话,建议你再写一个button控件,并且这个button是客户端的,用来调用js控件。
而服务端button绑定服务端事件,并且隐藏控件。

<Seven:MyButton ID="hdBtn" runat="server" style="display:none" Text="点击" OnClick="hdBtn_Click" />
<button id="btnJS">点击</button>
<script type="text/javascript">
$("#btnJS").click(function () {
xxx要处理的事情,比如校验表单
//调用服务端事件
__doPostBack('<%=hdBtn.UniqueID %>', '')
});
</script>

Seven:MyButton改成asp:Button
张天星 2019-01-20
  • 打赏
  • 举报
回复
问题不明确,我答问题都需要猜测几个可能,简直了。。。。
JS验证表单是你自己写的?Buttion的服务端代码,指的是事件么。
如果是的话,建议你再写一个button控件,并且这个button是客户端的,用来调用js控件。
而服务端button绑定服务端事件,并且隐藏控件。

<Seven:MyButton ID="hdBtn" runat="server" style="display:none" Text="点击" OnClick="hdBtn_Click" />
<button id="btnJS">点击</button>
<script type="text/javascript">
$("#btnJS").click(function () {
xxx要处理的事情,比如校验表单
//调用服务端事件
__doPostBack('<%=hdBtn.UniqueID %>', '')
});
</script>
qq_40813428 2019-01-20
  • 打赏
  • 举报
回复
引用 4 楼 以专业开发人员为伍的回复:
顺便说几个相关的简单问题: 1. 实际上对于 asp.net webform,你应该看15年前的好的关于 asp.net 组件/控件原理的教科书来学习。(或者你不要学 asp.net webform) 2. 上述代码,假设要在 func1 中访问触发的 element 的对象,应该这样写
<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return func1(this);" />
你可以使用 vs 在如下代码的 return false 那里设置一个调试断点
function func1(c) {
    var self = this;
    window.alert(c.id);
    return false;
}
你会发现,函数这次执行中的 this 其实是 window 对象,而不是 button。因为 js 代码"return func1(...)”这里表示的函数调用者是 window (调用window级别的 func1 函数),所以须用参数把真正的 this 传进函数。 3. 使用 vs 对 js 调试最为重要。学不会这个技能,就别搞前端 js 开发了。所以要学会用 vs 来调试 js。同时只有会调试,那么你才能学好 asp.net。换句话说,学 asp.net 之前必须先学会用 html/js 来开发网站,而不是倒过来次序学习。
那我要怎么调用 逻辑层的访问数据库的方法呢 在js里怎么调用
qq_40813428 2019-01-20
  • 打赏
  • 举报
回复
那页面不就有两个相同按钮了
qq_40813428 2019-01-20
  • 打赏
  • 举报
回复
引用 1 楼 张天星的回复:
问题不明确,我答问题都需要猜测几个可能,简直了。。。。
JS验证表单是你自己写的?Buttion的服务端代码,指的是事件么。
如果是的话,建议你再写一个button控件,并且这个button是客户端的,用来调用js控件。
而服务端button绑定服务端事件,并且隐藏控件。

<Seven:MyButton ID="hdBtn" runat="server" style="display:none" Text="点击" OnClick="hdBtn_Click" />
<button id="btnJS">点击</button>
<script type="text/javascript">
$("#btnJS").click(function () {
xxx要处理的事情,比如校验表单
//调用服务端事件
__doPostBack('<%=hdBtn.UniqueID %>', '')
});
</script>
就是先用js 验证表单格式 不通过就不会执行 服务端button的按钮事件

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧