首頁  >  文章  >  web前端  >  關於使用 jBox 對話框的提交不能彈出問題解決方法_javascript技巧

關於使用 jBox 對話框的提交不能彈出問題解決方法_javascript技巧

WBOY
WBOY原創
2016-05-16 17:48:451138瀏覽

jBox 是個不錯的對話框元件。
在 ASP.NET Form 中使用 jBox 的時候,在按鈕註冊的客戶端點擊事件中,會發現不能跳出對話框問題。
表現為頁面一閃就提交了,導致對話框一閃而過,甚至根本看不到。導致模式對話框失敗。
首先,按鈕會有預設處理,對於普通的 ASP.NET 按鈕來說,會導致表單的提交,提交表單導致了頁面的刷新。所以,為了不提交表單,就需要阻止按鈕預設的行為,這可以透過下面的程式碼實現。

複製程式碼 程式碼如下:

function stopDefault(>

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

其次,在關閉對話框的時候,我們希望能夠提交表單,這也可以透過腳本來實現。就是呼叫表單物件的提交方法submit(); 在實作中,我們還需要找到控制項的客戶端標識,可以如下取得
複製程式碼


程式碼如下:


var btnSaveId = "";
var form1Id = "";
複製代碼


程式碼如下:


// 註冊按鈕的點擊事件處理
$("#" btnSaveId).click(function ( e ) {

/ / 設定在關閉對話的時候提交表單
var options = {
closed: function () {
alert("submit");
// 找到需要提交的表單
$( "#" form1Id ).submit();
}
};

// 顯示jBox 對話方塊
var info = 'jQuery jBox

版本: v2.0
日期:2011-7-24
';
info = '官網:http ://kudystudio.com/jbox';
$.jBox(info, options );
// 阻止預設的事件處理
stopDefault(e);

});


對jQuery 來說,在事件處理方法中傳回false 可以完成類似功能。
但這兩種方式是有差別的。 return false 不僅阻止了事件往上冒泡,而且阻止了事件本身。 stopDefault 則只阻止預設事件本身,不阻止事件冒泡。 也可以阻止事件冒泡,這需要呼叫下面的方法。
複製程式碼


程式碼如下:


function stopBubble(e) {
function stopBubble(e) { else
// Otherwise, we need to use the Internet Explorer
// way of cancelling event bubbling
window.event.cancelBubble = true;
}
window.event.cancelBubble = true; }
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn