JQuery中阻止后台按钮Click事件

yangfei_net 2012-05-09 07:26:50
我的注册页面上用的JQuery做的无刷新验证(验证用户名长度,密码长度,邮箱格式等),在验证条件不合格时,应该阻止注册行为,阻止后台注册按钮的Click事件,这个应该怎么做呢?JS的 return false; 在这里好像无效。在线等
...全文
560 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
scjypzh 2012-05-10
  • 打赏
  • 举报
回复
使用前自己引用Jquery和Jquery Easyui


<html>
<head>

<script type="text/javascript">
function confirmRemove() {
$.messager.confirm('确认', '确定销户吗?', function (r) {
if (r) {
__doPostBack('lbtnRemove', '');
}
});
return false;
}
</script>

</head>
<body>
<form id="form1" runat="server">

<asp:LinkButton ID="lbtnRemove" Text="销户" runat="server" OnClick="lbtnRemove_Click" OnClientClick="javascript:return confirmRemove();" />

</form>
</body>
</html>
lovelcl 2012-05-10
  • 打赏
  • 举报
回复
可以不异步啊,属性sync:false,即可。
macooidle 2012-05-10
  • 打赏
  • 举报
回复
jquery的ajax默认是异步的,那你做完了就直接返回了,也没有return false撒
cuipla 2012-05-10
  • 打赏
  • 举报
回复
你不给按钮添加服务端click事件,直接用client_click事件,如果验证通过,则用jquery的ajax去请求后台不就是了嘛
yangfei_net 2012-05-10
  • 打赏
  • 举报
回复
    <script src="../Js/jquery-1.7.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//如果是必填的,则加红星标识.
$("form :input.required").each(function () {
var $required = $("<strong class='high'> *</strong>"); //创建元素
$(this).parent().append($required); //然后将它追加到文档中
});
//文本框失去焦点后
$('form :input').blur(function () {
var $parent = $(this).parent();
$parent.find(".formtips").remove();
//验证用户名
if ($(this).is('#username')) {
if (this.value == "" || this.value.length < 4) {
var errorMsg = '<samp>请输入至少4字符的用户名.</samp>';
$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
} else {

$.ajax({
type: "post",
contentType: "application/json",
url: "WebService1.asmx/ExamName",
data: "{name:'" + $('#username').val() + "'}",
success: function (result) {
if (result != null) {

errorMsg = '<samp>用户名已经被注册。</samp>';
$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
}
else {
var okMsg = '<samp>输入正确.</samp>';
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
})

}

}
//密码
if ($(this).is('#password')) {
if (this.value == "" || this.value.length < 6) {

var errorMsg = '<samp>请输入至少6位的密码.</samp>';
$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
}
else {
var okMsg = '<samp>输入正确.</samp>';
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
if ($(this).is('#passwords')) {
if (this.value != $('#password').val()) {

var errorMsg = '<samp>两次输入密码不一致.</samp>';
$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
} else {
var okMsg = '<samp>输入正确.</samp>';
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
//验证邮件
if ($(this).is('#email')) {

if (this.value == "" || (this.value != "" && !/.+@.+\.[a-zA-Z]{2,4}$/.test(this.value))) {

var errorMsg = '<samp>请输入正确的E-Mail地址.</samp>';
$parent.append('<span class="formtips onError">' + errorMsg + '</span>');
} else {
var okMsg = '<samp>输入正确.</samp>';
$parent.append('<span class="formtips onSuccess">' + okMsg + '</span>');
}
}
}).keyup(function () {
$(this).triggerHandler("blur");
}).focus(function () {
$(this).triggerHandler("blur");
});
//提交,最终验证。
//重置
$('#res').click(function () {
$(".formtips").remove();
});
})

$('#ImageButton2').click(function () {
$.ajax({
type: "post",
contentType: "application/json",
url: "WebService1.asmx/ExamAll",
data: "{username:'" + $('#username').val() + "',password:'" + $('#password').val() + "',passwords:'" + $('#passwords').val() + "',email:'" + $('#email').val() + "'}",
success: function (result) {
$('#examTxt').append("<samp><a>'"+result+"'</a></samp>");
return false;
}
})
})
</script>
//以上是做验证的JQuery 实在不知道 在哪加上一个 Function exam() {return false;}
//添加的ImageButton
<asp:ImageButton ID="ImageButton2" runat="server"
ImageUrl="~/Images/Button/RegBtn.bmp" onclick="ImageButton2_Click1" />
[Quote=引用 3 楼 的回复:]
你的可能有错误!这样是可以的,示例:

HTML code


<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Default</title>
<script type="text/javascript">
function Test() {
……
[/Quote]
lovelcl 2012-05-09
  • 打赏
  • 举报
回复
你不给按钮添加服务端click事件,直接用client_click事件,如果验证通过,则用jquery的ajax去请求后台不就是了嘛
IT-Style 2012-05-09
  • 打赏
  • 举报
回复
你的可能有错误!这样是可以的,示例:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Default</title>
<script type="text/javascript">
function Test() {
return false;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:ImageButton ID="btnTest" ImageUrl="1.jpg" runat="server" onclick="btnTest_Click1" OnClientClick="return Test();"/>
</form>
</body>
</html>
yangfei_net 2012-05-09
  • 打赏
  • 举报
回复
不是的,用的服务器控件 ImageButton
[Quote=引用 1 楼 的回复:]
用的submit?
[/Quote]
macooidle 2012-05-09
  • 打赏
  • 举报
回复
用的submit?

110,532

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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