关于使用 jBox 对话框的提交不能弹出问题解决方法

 更新时间:2012年11月07日 10:54:28   投稿:whsnow  
在 ASP.NET Form 中使用 jBox 的时候,在按钮注册的客户端点击事件中,会发现不能弹出对话框问题

jBox 是个不错的对话框组件。
在 ASP.NET Form 中使用 jBox 的时候,在按钮注册的客户端点击事件中,会发现不能弹出对话框问题。
表现为页面一闪就提交了,导致对话框一闪而过,甚至根本看不到。导致模式对话框失败。
首先,按钮会有默认处理,对于普通的 ASP.NET 按钮来说,会导致表单的提交,提交表单导致了页面的刷新。所以,为了不提交表单,就需要阻止按钮默认的行为,这可以通过下面的代码实现。

复制代码 代码如下:

function stopDefault( e ) {
// Prevent the default browser action (W3C)
if ( e && e.preventDefault )
e.preventDefault();
else
// A shortcut for stoping the browser action in IE
window.event.returnValue = false;
return false;
}

其次,在关闭对话框的时候,我们希望能够提交表单,这也可以通过脚本来实现。就是调用表单对象的提交方法 submit();

在实现中,我们还需要找到控件的客户端标识,可以如下获取

复制代码 代码如下:

var btnSaveId = "<%= this.btnSave.ClientID %>";
var form1Id = "<%= this.form1.ClientID %>";

按钮点击的客户端处理如下方

复制代码 代码如下:

// 注册按钮的点击事件处理
$("#" + btnSaveId).click(function ( e ) {

// 设置在关闭对话的时候提交表单
var options = {
closed: function () {
alert("submit");
// 找到需要提交的表单
$("#" + form1Id ).submit();
}
};

// 显示 jBox 对话框
var info = 'jQuery jBox<br /><br />版本:v2.0<br />日期:2011-7-24<br />';
info += '官网:<a target="_blank" href="http://kudystudio.com/jbox">http://kudystudio.com/jbox</a>';
$.jBox(info, options );

// 阻止默认的事件处理
stopDefault(e);

});

对于 jQuery 来说,在事件处理方法中返回 false 可以完成类似功能。

但是这两种方式是有区别的。return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。
stopDefault 则只阻止默认事件本身,不阻止事件冒泡。
还可以阻止事件冒泡,这需要调用下面的方法。
复制代码 代码如下:

function stopBubble(e) {
// If an event object is provided, then this is a non-IE browser
if (e && e.stopPropagation)
// and therefore it supports the W3C stopPropagation() method
e.stopPropagation();
else
// Otherwise, we need to use the Internet Explorer
// way of cancelling event bubbling
window.event.cancelBubble = true;
}

相关文章

  • JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容

    JS获取鼠标坐标并且根据鼠标位置不同弹出不同内容

    这篇文章主要介绍了js获取鼠标坐标并且根据鼠标位置不同弹出不同内容的实例代码,需要的朋友可以参考下
    2017-06-06
  • JS for...in 遍历语句用法实例分析

    JS for...in 遍历语句用法实例分析

    这篇文章主要介绍了JS for...in 遍历语句用法,结合实例形式分析了javascript的for...in语句进行数组遍历的具体流程与使用技巧,需要的朋友可以参考下
    2016-08-08
  • javascript得到当前页的来路即前一页地址的方法

    javascript得到当前页的来路即前一页地址的方法

    这篇文章主要介绍了javascript得到当前页的来路即前一页地址的方法,需要的朋友可以参考下
    2014-02-02
  • js友好的时间返回函数

    js友好的时间返回函数

    这篇文章主要为大家详细介绍了js友好的时间返回函数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 微信小程序上传图片实例

    微信小程序上传图片实例

    这篇文章主要为大家详细介绍了微信小程序上传图片实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • js两个数组合并去重的方法大全

    js两个数组合并去重的方法大全

    这篇文章主要给大家介绍了关于js两个数组合并去重的相关资料,日常开发中经常会用到的JS数组去重,文中将每种方法都给出了代码示例,需要的朋友可以参考下
    2023-09-09
  • JavaScript一元正号运算符示例代码

    JavaScript一元正号运算符示例代码

    这篇文章主要给大家介绍了关于JavaScript一元正号运算符的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用JavaScript具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • js实现图片上传并预览功能

    js实现图片上传并预览功能

    这篇文章主要为大家详细介绍了js实现图片上传并预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • 原生js编写焦点图效果

    原生js编写焦点图效果

    这篇文章主要为大家详细介绍了原生js编写焦点图效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • js动态添加事件并可传参数示例代码

    js动态添加事件并可传参数示例代码

    js动态添加事件可以搜索到很多的相关文章,不过可以传参数的就没有几个了,下面有个不错的示例可以满足大家对传参的需求,感兴趣的各位不要错过
    2013-10-10

最新评论